我正在尝试用 Javascript 和 PHP 创建一个马赛克类型的脚本,它构成了一个大图像,其中包含许多由小方 block 制成的不同图像。这个想法是通过有一个背景图像并在它上面放置瓷砖,并使它们的不透明度为 50% 左右来“伪造”效果。这工作得体,但绝对没有我想要的那么好。
我的问题是,有人对此方法的替代方法有任何建议吗?我知道肯定有办法在 Flash 中做到这一点,例如 Mario Lemieux 马赛克: http://www.mariomosaic.com/mosaic/
但我想尽可能避免闪光。
编辑:添加了实例
所以我还没有接触到 JS 层,这都是服务器端的东西。没有预加载器或任何真正使它更有用的东西,很快就会出现。但这是我到目前为止所得到的:
http://www.mtimofiiv.net/mosaic_example/
这些微小的图像 block 是根据用户上传的图像创建的,它们通过我构建的类运行以生成它们。我使用 GD2 将它们设为灰度,以便它们更好地吸收背景图像的颜色,并且我在 Photoshop 中对背景图像进行了“像素化”。
如果有人想查看代码的任何部分,请告诉我,我会将其添加到这篇文章中。此外,当这个项目完成后,我打算将它完整地放在 Github 上,供任何想做同样事情的人使用。
最佳答案
也许您的演示 HTML 为 733KB 这一事实可能会阻止您采用这种特定方法。我认为如果你想做这样的事情,你真的应该使用 Canvas 元素,并在某种“ajax”加载中工作。这实际上可能有点有趣。但是,如果您要生成这么多 HTML……如果可能的话,您可以考虑使用客户端脚本来完成。只是一些想法...
关于php - 在 php 和 javascript 中制作 "mosaic"效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5330077/