4

人が指で画面に何かを描くことができるiPhoneアプリを持っています。黒地に白線で描かれています。しかし、この画像をWebサーバーにアップロードすると、線自体が白くなります。描画された画像の色を反転する方法を探して、コアグラフィックライブラリを調べてみました。背景が設定されていないので、透明にする必要があります。画像を反転すると、白が黒に変わります。

これがコアグラフィックライブラリで可能かどうかは誰にもわかりませんか?

乾杯

4

2 に答える 2

14

私はそれを行う良い方法を見つけました。元画像の背景を単純に透明にするのではなく、黒くします。現在、黒地に白線が入っています。次に、それは単に行うことの問題でした:

UIGraphicsBeginImageContext(image.size);
CGContextSetBlendMode(UIGraphicsGetCurrentContext(), kCGBlendModeCopy);
[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
CGContextSetBlendMode(UIGraphicsGetCurrentContext(), kCGBlendModeDifference);
CGContextSetFillColorWithColor(UIGraphicsGetCurrentContext(),[UIColor whiteColor].CGColor);
CGContextFillRect(UIGraphicsGetCurrentContext(), CGRectMake(0, 0, image.size.width, image.size.height));
UIImage *returnImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

変数 'image' は、黒い背景に白い線がある元のイメージです。助けてくれてありがとう

于 2010-02-15T02:25:05.083 に答える
-1

はい。これは、CGContext への呼び出しによって CALayer で行うか、CGImage のバッファを使用して直接行うことができます。StackoverflowにもUIViewから画像を保存して前後に移動する方法に関する他の例があります。

于 2010-02-15T01:38:06.807 に答える