当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP代码实例:图片转成HTML

PHP
PHP图片上传类带图片显示
用PHP中的 == 运算符进行字符串比较
使PHP自定义函数返回多个值
在PHP中使用与Perl兼容的正则表达式
PHP中的cookie
PHP 应用程序的安全 -- 不能违反的四条安全规则
PHP date函数参数详解
PHP读写文件的方法(生成HTML)
PHP如何得到当前页和上一页的地址?
PHP完整的日历类(CLASS)
php类
mysq GBKl乱码
php字符串截取问题
PHP+AJAX实现无刷新注册(带用户名实时检测)
windows xp下安装pear
专为新手写的结合smarty的类
PHP 中的面向对象编程:通向大型 PHP 工程的办法
数组处理函数库
PHP 选项及相关信息函数库
PHP 已经成熟

PHP代码实例:图片转成HTML


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-30   浏览: 215 ::
收藏到网摘: n/a

PHP的
 
<style>
body{}
a{display: inline-block;width:1px;height:1px;}
</style>
<?php
function createImFromFile($path){
if(!is_file($path)){
throw new Exception("File: $path not found!");
}
$info = getimagesize($path);
switch ($info[2]){
case 1:
//gif
$tim = imagecreatefromgif($path);
$w = imagesx($tim);
$h = imagesy($tim);
$im = imagecreatetruecolor( $w,$h );
imagecopy($im,$tim,0,0,0,0,$w,$h);
imagedestroy($tim);
break;
case 2:
//jpg
$im = imagecreatefromjpeg($path);
break;
case 3:
//png
$im = imagecreatefrompng($path);
break;
default:
throw new Exception("Not support file type.File:$path");
}
return $im;
}
 
$im = createImFromFile("d:\\aa.jpg");
$w = imagesx($im);
$h = imagesy($im);
$str = "<div>";
for($i = 0; $i < $h; $i++){
$str .= "<div>";
for($j = 0; $j <$w; $j++){
$rgb = str_pad(dechex(imagecolorat($im, $j, $i)), 6, "0", STR_PAD_LEFT);
$str .="<a style='background:#$rgb'></a>";
}
$str .= "</div>";
}
$str .= "</div>";
imagedestroy($im);
echo $str;
/*$rgb = ImageColorAt($im, 100, 100);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;*/
?>
 
 
 
.NET 的:
 
    protected string tmp = "";
 
    protected void Page_Load(object sender , EventArgs e) {
        Bitmap bm = new Bitmap("d:\\aa.jpg");
        int w = bm.Width;
        int h = bm.Height;
        StringBuilder sb = new StringBuilder();
        Color c;
        sb.Append("<div>");
        for( int i = 0 ; i < h ; i++ ) {
            sb.Append("<div>");
            for( int j = 0 ; j < w ; j++ ) {
                c = bm.GetPixel(j,i);
                sb.Append(string.Format("<a style='background:#{0}{1}{2}'></a>" , V(c.R) , V( c.G) , V(c.B)));
            }
            sb.Append("<div>");
        }
        sb.Append("</div>");
 
        tmp = sb.ToString();
    }
 
    private string V( int v ) {
        return string.Format("{0:X}" , v).PadLeft(2 , '0');
    }
 
 
等我一步一步解开他的混淆后,发现:它只是一个笑话!
 
另外说明一下:
在PHP 里没有直接使用 createimagefromgif 是因为:
imagecolorat returns the color index (position in the palette) for
palette based image or the color value for true color images.
imagecreatefromjpeg creates true color images, always.
imagecreatefromgif creates always palette based images and
imagecreatefrompng creates either palette or true color images as PNG
supports both image types.

http://bugs.php.net/bug.php?id=40801