编辑:
有没有办法让像素化元素混在一起?如果我有一个网格,可以说 100x100 - 那么像素会变得非常小,您可以看到图像。所以我想把像素化的部分弄乱。任何的想法?
我正在尝试使用 PHP 将图像划分为相等的网格,以便我可以将其像素化为均匀的部分。
它与某种游戏有关。某个用户上传了一张图片,我希望它被分成 x 个块(用户选择应该有多少块),然后每个块都会被像素化。当其他用户完成某些任务时 - 像素化块的一部分被显示出来,直到所有像素化部分都消失并且您留下原始图像。我真的不在乎网格元素是正方形还是矩形 - 我只是希望它们是均匀的。
作为我的出发点,我正在使用这个问题的答案PHP image pixelate?
要确定 x 和 y 像素大小,我使用以下公式:
$gridElements = 9;
$pixelate_x = $width/sqrt($gridElements);
$pixelate_y = $height/sqrt($gridElements);
我注意到,当使用平方根为整数的数字时 - 我得到了一个更均匀的网格。但它并不完美。
尝试使用 9 块网格并使用 1160x680 图像时,我得到以下信息:
它可能看起来很均匀,但最后一行比前两行大。
当我将其缩放到 16 时,差异非常明显
当尝试 400 个元素的网格 (20x20) 时,第 21 行会出现。
所以..它工作得不是很好,我确实希望网格是均匀的。有谁知道如何做到这一点?