0

愚かな質問があります。JPEG ファイルを読み込んで画像処理を行いたい。処理中、画像ファイルはピクセル単位 (unsigned char*)、または .bmp 形式である必要があります。どうすればこれを行うことができますか?

処理後、このファイルを .bmp または .jpg として保存したいのですが、どうすればよいですか? どうもありがとうございました。私の下手な英語で申し訳ありません。

4

1 に答える 1

0

コメントのリンクは便利ですが、あなたがやりたいと思っていることとはまったく異なります。描画と画像処理のための Apple の技術である Quartz について少し読む必要があります。Apple にはこれに関する優れたドキュメントがありますが、単純な 1 時間タイプの作業ではありません。少なくとも 1 日、あるいはそれ以上の時間を計画してください。

UIImage から始めるとします (すべてが重要というわけではないと思います)。

  • その画像への CGImageRef を取得します (おそらく [UIImage CGImage])

  • その画像をレンダリングするのに十分な大きさのCGBitMapContextを作成します(CGImageに幅と高さなどを尋ねることができます)。

  • 最終的にアルファ付きの PNG を作成する場合は、たとえ JPEG 画像にアルファがなくても、アルファに十分な大きさのビットマップ コンテキストを作成する必要があります。別の JPEG が必要な場合は、作業が少し簡単になります。

  • 画像をビット マップ コンテキストにレンダリングします (そのための CGContextDraw... ルーチンがあります)。

これで、イメージが読み取りおよび変更可能なビットマップに含まれるようになりました。alpha を指定しない限り、レイアウトはおそらく rgb になります。その場合、alpha バイトがどこにあるかを判断する必要があります。

ビットマップを変更したら、そのビットマップから新しい CGImage を作成し、必要に応じて UIImage を取得できます。

PS: 検索すると、これに関する多くのサンプル コードと投稿が見つかるため、完全に独力ではありません。

于 2012-08-17T00:15:19.477 に答える