2

編集:

ピクセル化された要素をごちゃ混ぜにする方法はありますか? たとえば 100x100 のグリッドがある場合、ピクセルは非常に小さくなり、画像のようなものを見ることができます。なので、ピクセル化された部分をごちゃ混ぜにしたいと思います。何か案が?


PHP を使用して画像を均等なグリッドに分割し、ピクセル化して均等な部分にしようとしています。

それは一種のゲームと関係があります。一部のユーザーがアップロードした画像があり、それを x ブロックに分割したい (ユーザーがブロック数を選択する) と、各ブロックがピクセル化されます。他のユーザーが何らかのタスクを完了すると、ピクセル化されたブロックの一部が表示され、すべてのピクセル化された部分がなくなり、元の画像が残ります。グリッド要素が正方形であろうと長方形であろうと、私は本当に気にしません - 私はそれらが均等であることを望んでいます。

私の出発点として、私はこの質問の答えを使用していますPHP image pixelate?

x と y のピクセル サイズを決定するために、次の式を使用しています。

$gridElements = 9;
$pixelate_x = $width/sqrt($gridElements);
$pixelate_y = $height/sqrt($gridElements);

平方根が整数である数値を使用すると、より均一なグリッドが得られることに気付きました..しかし、それは完全ではありません。

9 ブロックのグリッドを試し、1160x680 の画像を使用すると、次のようになります。

画像1

均等に見えるかもしれませんが、最後の行は上の 2 行よりも大きくなっています。

16倍にすると違いが一目瞭然

ここに画像の説明を入力

400 要素のグリッド (20x20) を試すと、21 行目が表示されます。

ここに画像の説明を入力

だから..うまく機能していません。グリッドを均一にしたいのです。これをどのように行うことができるかについて誰か考えがありますか?

4

1 に答える 1

1

これは、1160 が実際には 3 でさえうまく分割できないためです (そうです、3x3 グリッドを使用する場合も等しくありません)。ここでの最大の敵は整数です

于 2013-03-03T15:17:15.637 に答える