我想制作一个应用程序,它可以从你的 facebook、myspace 或 twitter 帐户中获取你朋友的个人资料照片,并将它们全部制作出来。我已经知道如何使用这些社交网络的 API 来获取图像 url,问题是,我如何将它们“缝合”在一起。
如果您知道如何使用 Zend 或 PEAR 中的特定类来做到这一点,那就太好了,因为这就是正在使用的。
谢谢。
我想制作一个应用程序,它可以从你的 facebook、myspace 或 twitter 帐户中获取你朋友的个人资料照片,并将它们全部制作出来。我已经知道如何使用这些社交网络的 API 来获取图像 url,问题是,我如何将它们“缝合”在一起。
如果您知道如何使用 Zend 或 PEAR 中的特定类来做到这一点,那就太好了,因为这就是正在使用的。
谢谢。
我会看看将 Imagemagick 集成到您的解决方案中
我不使用它,但通过查看示例,它开始像:
<?php
/* Create the big image. */
$im = new Imagick();
$im->newPseudoImage(500, 500, "white");
/* Create the small image. */
$faceImg = new Imagick('face.jpg');
?>
我看不到如何将 $faceImg 覆盖到 $im 上,但 imagemagick 具有该功能。如果 PHP 绑定不够好,您始终可以使用 ImageMagick 的命令行版本。
我认为图像魔法中有一个命令可以拼接图像
转换 1.jpg 2.jpg -rotate 90 -append 270 final.jpg
我想这就是你要找的
一个非常基本的方法是获取您的目标图像(您希望合成图像看起来像的图像)并将其切割成更小的图像,形成我们可以称为 T 的图像集。
找到 T 中每个图像的“平均颜色”。
拿你的一组朋友图像,我们称它为 F 组,并找到每个图像的“平均颜色”。
现在将 T 中的每个图像与 F 中的图像匹配,以使颜色之间的距离尽可能小。在这里,您必须考虑是否允许将 F 中的同一图像用于 T 中的多个图像。
一个稍微不那么基本的方法是(使用与上面相同的集合):
平均过滤 T 和 F 中的每个图像(如模糊它们)
通过使用最小二乘误差计算将 T 中的每个图像与 F 中的图像匹配。
我能想到的其他更高级的方法是:
至于框架,我认为这根本不重要。不过,您需要的是一个好的图像库,以使操作图像更容易。