0

いくつかのアクションの後に画像を表示する機能が必要な iPhone アプリに取り組んでいます。

例えば:

私はお互いの上に2つのUIImagesを持っています。背面の UIImage は表示するイメージです。上部の UIImage は、この画像をカバーする必要があります。画像を明らかにする方法が必要です。したがって、メソッドを呼び出して、パラメーターとして 50 (50% を表す) を指定するとします。上部の UIImage のピクセルの半分を不透明度 0 に設定する必要があります。画像を読み込む必要があることはわかっています。データ、そしてピクセルを編集できます。しかし、ランダムなピクセルを編集する必要があります。そうしないと、50 でメソッドを呼び出すと、画像の上部が既に表示されています。したがって、ピクセルの不透明度を 0 に設定する必要がありますが、ランダムです。これにより、一種の「雪」効果が得られます。たとえば、メソッドを呼び出してパラメーターとして 100 を指定すると、ピクセルの 100% が不透明度 0 になる必要があるため、画像全体が表示されます。

ランダムを使用すると、画像の半分が表示されるのではなく、ゆっくりと画像が表示されるため、ランダムは重要です;-)

簡単にするために: ピクセルを編集する画像は常に 320x480 です。私は横向きしか使いません!

誰かが私を助けてくれることを願っています。

前もって感謝します!

4

1 に答える 1

0

この質問への答えをチェックしてください。 これにより、画像のピクセルデータを編集する方法がわかります。残りは単なる論理です。

NSArray *alphaTable320 * 480(または画像サイズからの入力)の容量を持つ ような配列を使用します。

次に、その配列、擬似コードを繰り返し処理します。

static int totalRandomCount = 0;
for (int i = 0; i< [alphaTable count]; i++) {

   if ( rand() > inputPercent && [alphaTable objectAtIndex:i] > 0.0f) {
       [alphaTable setValueAtIndex: 0.0f];
       totalRandomCount++;
   }
   if (totalRandomCount > [alphaTable count] * inputPercent) return;

}

これにより、以前の編集が永続的になります。(つまり、最初のパスinputPercentは10%、次に25%、次に50%、次に90%、次に100%で、以前に表示されたピクセルを変更せずに継続的に表示される画像が得られます。)

これは正確な方法ではないため、「楽しい」アプリ以外には使用しないでください。

于 2010-07-09T12:24:19.867 に答える