ค้นหาสีของพิกเซลเฉพาะบน UIImageView

ฉันกำลังทำงานกับแอพพลิเคชั่นระบายสี และต้องการสร้างตัวจัดการการเลิกทำ ฉันเก็บค่าพิกัดพิกเซลของแต่ละตำแหน่งที่ผู้ใช้วาด แต่ฉันก็ต้องการเก็บสีพิกเซลเก่าของจุดที่ผู้ใช้วาดด้วย เพื่อที่ฉันจะได้สามารถเลิกทำเพื่อให้ได้สีที่เหมาะสมได้ แต่ฉันไม่สามารถทำเช่นนั้นได้ ใครก็ได้ช่วยที

นี่คือรหัสที่ฉันใช้เพื่อรับสีพิกเซล:

UIGraphicsBeginImageContext(self.tempDrawImage.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
int bpr = CGBitmapContextGetBytesPerRow(context);
unsigned char * data = CGBitmapContextGetData(context);
if (data!=NULL)
{
    int offset = bpr*(lastPoint.y)+ 4*(lastPoint.x);
    NSLog(@"Red : %d",data[offset+0]);
    NSLog(@"Green : %d",data[offset+1]);
    NSLog(@"Blue : %d",data[offset+2]);
}

person Santosh    schedule 28.01.2014    source แหล่งที่มา
comment
อาจเป็นไปได้ว่าคำถามนี้ช่วยคุณได้ stackoverflow.com/questions/21028952/   -  person Saad Chaudhry    schedule 28.01.2014
comment
และคำตอบของพาสก็ชัดเจนเกินไป   -  person Saad Chaudhry    schedule 28.01.2014
comment
แต่คำตอบ parcs ยังคงส่งคืนเพียง 0   -  person Santosh    schedule 28.01.2014
comment
คำถามและคำอธิบายของคุณไม่ตรงกับ Finding colour of specific pixel on UIImageView และรหัสของคุณแสดงว่าคุณได้รับพิกเซลเฉพาะ ตอนนี้ หากคุณต้องการวาดบางสิ่งบนรูปภาพ ฉันขอแนะนำให้คุณทำสำเนาก่อน แล้วจึงเปลี่ยนกลับเมื่อวาดใหม่หรือเลิกทำ   -  person Saad Chaudhry    schedule 28.01.2014


คำตอบ (2)


ทางออกที่ดีที่สุดสำหรับการใช้คลาสหมวดหมู่ UIImage+ColorAtPixel ของ UIImage ฉันใช้สิ่งนี้แล้ว สวยและสมบูรณ์แบบมาก

person Vinay Jain    schedule 28.01.2014

คุณสามารถสร้างสำเนารูปภาพของคุณทุกครั้งก่อนที่จะเริ่มการปรับเปลี่ยนการวาดภาพ (เช่น ก่อนที่ผู้ใช้จะแตะบนหน้าจอ)

person Miroslav    schedule 28.01.2014