首页 / PHP / 在php中将数组转换为png
在php中将数组转换为png
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在php中将数组转换为png,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1535字,纯文字阅读大概需要3分钟。
内容图文
![在php中将数组转换为png](/upload/InfoBanner/zyjiaocheng/690/2c12e24ae016464b84ac11e4c79159ea.jpg)
我想知道如何将颜色数组转换为png图像文件.
该数组称为$pixels.
请帮我.
$im = imagecreatefrompng('start.png');
$background = imagecreatefrompng('background.png');
imageconverttruecolor($background);
imageconverttruecolor($im);
define('x',imagesx($im));
define('y',imagesy($im));
$pixels=array();
for ($x = 0; x>$x;++$x){
for ($y=0;y>$y;++$y){
$s=imagecolorat($background,$x,$y);
if ($s&&$s==imagecolorat($im,$x,$y))
$pixels[$x][$y]=0xFFFFFF;
else $pixels[$x][$y]=0x000000;
}
}
解决方法:
可以,但是您没有提供有关阵列结构的太多信息.我建议使用以下内容:
Array $arr = (Array($x, $y, $r, $g, $b), Array($x, $y, $r, $g, $b) ...);
因此,您正在看一个多维数组,每个嵌入式数组都存储在其中.
$x = x position of pixel
$y = y position of pixel
$r = red value (0 - 255)
$g = green value (0 - 255)
$b = blue value (0 - 255)
在这里,您可以使用GD绘制图像.
为了找到正确的图片高度和宽度,您需要定义一个函数以比较最大x和y值,并根据数组中找到的最大x / y值更新它们.即;
$max_height = (int) 0;
$max_width = (int) 0;
foreach ($arr as $a)
{
if ($a[0] > $max_width)
{
$max_width = $a[0];
}
if ($a[1] > $max_height)
{
$max_height = $a[1];
}
}
因此,现在您已经有了图像的最大宽度和高度.从这里开始,我们可以通过遍历多维数组来开始构建图像-基本上一次只能一个像素.
为了实际绘制像素,我们将使用imagesetpixel.
$im = imagecreatetruecolor($width, $height);
foreach ($arr as $b)
{
$col = imagecolorallocate($im, $a[2], $a[3], $a[4]);
imagesetpixel ($im , $a[0] , $a[1] , $col );
}
现在,一旦完成,剩下要做的就是在浏览器中显示图像.
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
希望这可以帮助.
>欧根
内容总结
以上是互联网集市为您收集整理的在php中将数组转换为png全部内容,希望文章能够帮你解决在php中将数组转换为png所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。