选择一些图像像素并从中制作新图像

时间:2010-09-23 18:50:06

标签: iphone

我正在尝试通过选择现有图像的某些部分来制作新图像。我已经访问了图像像素并获得了它们的值。如果我想改变它们我可以。但我希望通过图像像素值选择图像的一部分,并通过它创建一个新图像。就像裁剪图像一样。我想要的是选择指定边界内的图像。例如,如果图像周围的边界是任何颜色,例如黑色或黄色或任何颜色,也可以是任何形状,我想要通过它们的像素值选择该边界内的图像并将它们复制到新图像中图像只应使用那些新的像素值来显示该边界内的图像。我也为此做了算法但是当我实现它时。它不适合我。任何一个做过它或有任何想法的人请指引我走正确的道路。任何一段代码都会有很大的优势。


这里是我的代码片段,我可以获得像素值

while(numberofpixel> 0){

 if(pixel->r== 255 && pixel->g==255 && pixel->b==255){
          pixel->r=0;
          pixel->g=0;
          pixel->b=0;         
}

像素++; numberofpixel--; }

通过这段代码我可以得到图像白色像素并将它们转换为黑色。像素是由无符号char r,g,b组成的结构。像素数是图像中像素的总数。但我无法在某个区域内获得像素。如果有人有任何想法或建议,请与我分享。

1 个答案:

答案 0 :(得分:0)

我希望您了解基本的Quartz 2D Programming API。对于剪切上下文,有许多API可用。为了进一步了解并找到适合您要求的API,您可以访问以下链接。

http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CGContext/Reference/reference.html

要裁剪和剪辑图像,请访问绘画路径修改剪辑路径部分。根据我对问题的理解,这些API可以提供您想要的内容。

基本步骤如下。

  1. 获取CGPath的新参考。有关CGPath的详细信息,请访问此页面。 http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CGPath/Reference/reference.html#//apple_ref/doc/c_ref/CGPathDrawingMode

  2. 以此路径形式提供裁剪边界。

  3. 将上下文剪切到路径。

  4. 获取给定上下文的CGImage。

  5. 制作UIImage并将其写入新文件。

  6. 我不会发布代码,因为互联网和Apple示例中有很多可用的代码。如果你需要,还可以在这里发帖。