私はUIImageを持っています、私はその特定のピクセルの色を変更したい、例えば224×200ピクセル。これどうやってするの?それは可能ですか?前もって感謝します。iPhone:UIImageの特定のピクセルの色を変更するにはどうすればいいですか?
6
A
答えて
8
完全な一日をたくさん探すと、私は正確な解決策を得ましたが、多くは見つけましたが、どれも働いていませんでした。ここで私は持っているものです、それは完璧に動作します - :
// This method creates an image by changing individual pixels of an image. Color of pixel has been taken from an array of colours('avgRGBsOfPixel')
-(void)createTexture{
self.sampleImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"whitebg.jpg"]];
CGRect imageRect = CGRectMake(0, 0, self.sampleImage.image.size.width, self.sampleImage.image.size.height);
UIGraphicsBeginImageContext(sampleImage.image.size);
CGContextRef context = UIGraphicsGetCurrentContext();
//Save current status of graphics context
CGContextSaveGState(context);
CGContextDrawImage(context, imageRect, sampleImage.image.CGImage);
// And then just draw a point on it wherever you want like this:
// CGContextFillRect(context, CGRectMake(x,y,1,1));
//Fix error according to @gsempe's comment
int pixelCount =0;
for(int i = 0 ; i<sampleImage.image.size.width ; i++){
for(int j = 0 ; j<sampleImage.image.size.height ; j++){
pixelCount++;
int index = pixelCount/pixelCountForCalculatingAvgColor;
// NSLog(@"Index : %d", index);
if(index >= [avgRGBsOfPixel count]){
index = [avgRGBsOfPixel count] -1;
NSLog(@"Bad Index");
}
// if(pixelCount >9999){
// pixelCount = 9999;
// NSLog(@"Bad Index");
// }
UIColor *color = [avgRGBsOfPixel objectAtIndex:index];
float red ,green, blue ,alpha ;
[color getRed:&red green:&green blue:&blue alpha:&alpha];
CGContextSetRGBFillColor(context, red , green, blue , 1);
CGContextFillRect(context, CGRectMake(i,j,1,1));
}
}
// Then just save it to UIImage again:
CGContextRestoreGState(context);
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
[self.iv setImage:img];
}
0
コアグラフィックスでも可能です。 linkには、画像をグレースケールに変換するコードがあります。必要に応じて変更することができます。
0
CGContextRefこのすべてを行います。あなたはこれであらゆる種類の魔法をやることができます。
Here are some slides基本的な使用法を超えています。
関連する問題
- 1. PhpStormで特定のキーワードの色を変更するにはどうすればいいですか?
- 2. tkinterテキストウィジェットの特定の単語の色を変更するにはどうすればいいですか?
- 3. JLabelの特定の文字の色を変更するにはどうすればいいですか?
- 4. c#特定の行の色を変更するにはどうすればいいですか?
- 5. Qt/PyQt(/ Other?):ピックスマップの特定の色を変更するにはどうすればいいですか?
- 6. UITableViewの特定のセルのテキストの色を変更するにはどうすればよいですか?
- 7. gitで特定のフォントの色を変更するにはどうすればよいですか?
- 8. WinFormの色を変更するにはどうすればいいですか?
- 9. ラベルテキストの色を変更するにはどうすればいいですか?
- 10. ボタンの色を変更するにはどうすればいいですか?
- 11. リンクテキストの色を変更するにはどうすればいいですか?
- 12. UINavigationBarの色を変更するにはどうすればいいですか?
- 13. Androidで、黒いピクセルのビットマップを別の色に変換するにはどうすればよいですか?
- 14. Androidの設定のテキストの色を変更するにはどうすればいいですか?
- 15. ボタンの背景色を変更するボタンを設定するにはどうすればいいですか?
- 16. DataGridから特定のセルのフォアグラウンドを変更するにはどうすればいいですか?C#wpf
- 17. Direct3Dテクスチャ内の単一ピクセルの色を設定するにはどうすればよいですか?
- 18. Androidで特定のレイアウトのテーマを変更するにはどうすればいいですか?
- 19. 特定の時間にアンドロイドギャラリーの画像を変更するにはどうすればいいですか
- 20. ウェブページの特定の変更をすばやく通知するにはどうすればよいですか?
- 21. WPF - DataGridの特定の行を別の色に設定するにはどうすればよいですか?
- 22. Emacsで特定のものを色付けするにはどうすればいいですか?
- 23. OpenGLテクスチャの特定の色を透明に設定するにはどうすればよいですか?
- 24. PerlでImage :: Magicで特定のピクセルのRGB値を増やすにはどうすればよいですか?
- 25. 結果の色を変更せずにピクセルのアルファ値を変更するにはどうすればよいですか?
- 26. Python - autopctのテキストの色を円グラフで白に変更するにはどうすればいいですか?
- 27. ナビゲーションバーの下にある罫線の色を変更するにはどうすればいいですか?
- 28. HTMLTableの特定のセルに色を付けるにはどうすればいいですか?
- 29. 開いたブートストラップのドロップダウントグルの色を変更するにはどうすればいいですか?
- 30. GLSLでテクスチャの色合いを変更するにはどうすればいいですか?
pixelCountForCalculatingAvgColorとavgRGBsOfPixelの値は何ですか?それはコンパイルされていません。 –
こんにちは、私は実際にどこのラインを設定/ピクセルの色を変更しているのか分からなかったのですか? –
@Vipul Jこの定義されていないもの、またはpixelCountForCalculatingAvgColorの値とavgRGBsOfPixelの配列値をクリアすることはできますか? –