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

PHP
php项目打包方法
Apache+php+mysql在windows下的安装与配置(图文)
PHP Token(令牌)设计
可以在线执行PHP代码包装修正版
PHP执行速率优化技巧小结
php 无限极分类
Discuz! Passport 通行证整合
几个php应用技巧
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
来自经典的打造简单的PHP&MYSQL留言板
PHP实现Socket服务器的代码
php设计模式介绍之编程惯用法
php mysql数据库操作分页类
php学习 函数 课件
php学习 字符串课件
php学习 数组课件
php学习 面向对象 课件
PHP学习正则表达式 课件
PHP学习文件处理与文件上传 课件
PHP学习mysql课件 高级篇

PHP代码实例:图片转成HTML


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-30   浏览: 119 ::
收藏到网摘: 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