2009年7月26日日曜日

256色画像からフルカラーへ変換

お手軽な画素変換方法。

元画像を読み込んでUIImageに放り込んでおきます。
UIImage *img;

まずは画像情報の取得

CGImageRef cgImageTmp = img.CGImage;
int width = CGImageGetWidth (cgImageTmp);
int height = CGImageGetHeight (cgImageTmp);
int nDataSize = width * height * 4;

他にもCGImageGet*****というのがあるようです。

そして画像の変換

CGSize size = {width, height};
UIGraphicsBeginImageContext (size);
[img drawInRect:CGRectMake (0, 0, width, height)];
UIImage *imgSrcTmp = UIGraphicsGetImageFromCurrentImageContext ();
UIGraphicsEndImageContext ();

コンテキストに描画するとその状態に合った形式に変換されるようです。
コンテキストが何者なのか?詳しくはまだよくわかってません。
Windowsでいうデバイスコンテキストのようなものでしょか。
サイズの変更もできるようですが、拡大するとぼやけた感じになりますね。

0 件のコメント:

コメントを投稿