Я делаю приложение для рисования и успешно реализовал рисование кистью .. Моя проблема в том, что я не хочу, чтобы цвет перерисовывался на экране, где цвет уже был нарисован .. Посмотрите на скриншот .. ЯЯ использую OpenGl ES .. Я пытался сопоставить цвет пикселей экрана с цветом текущей кисти, но я не мог сделать это правильно .. Может кто-нибудь сказать мне, где я иду не так?Спасибо ..
Снимок экрана для проблемы: http://imageshack.us/photo/my-images/842/screenshot20110726at601.png/
Я вставляю свой код здесь:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
CGRect bounds =[self bounds];
UITouch *touch = [[event touchesForView:self] anyObject];
//glDisable(GL_BLEND);
glEnable(GL_BLEND);
Byte pixel[4];
glReadPixels(location.x,location.y, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, &pixel);
NSLog(@"%d %d %d %d",pixel[0],pixel[1],pixel[2],pixel[3]);
r_comp=(float)pixel[0]/255;
g_comp=(float)pixel[1]/255;
b_comp=(float)pixel[2]/255;
artbrushAppDelegate *app=(artbrushAppDelegate *)[[UIApplication sharedApplication]delegate];
if(r_comp==app.rg && g_comp==app.gg && b_comp==app.bg)
// app.rg,app.bg,app.gg are brush colors saved in global varable
{
glEnable(GL_BLEND);
}
else
{
glDisable(GL_BLEND);
}