Я рисую что-то касание пальцем с использованием растрового изображения.Рисование растрового изображения на экран размыто ???
Сначала я рисую линию для растрового изображения.
Затем нарисуйте растровое изображение на экране.
Но вопрос заключается в том, что линии размыты.
Ниже приведено сравнение.
picture1 непосредственно рисунок на экран. picture2 использует растровое изображение. Вот мой код:
- (BOOL)CreateBitmapContext:(int)pixelsWide High:(int)pixelsHight
{
CGColorSpaceRef colorSpace;
void * bitmapData;
int bitmapByteCount;
int bitMapBytesPerRow;
bitMapBytesPerRow = (pixelsWide * 4);
bitmapByteCount = (bitMapBytesPerRow * pixelsHight);
colorSpace = CGColorSpaceCreateDeviceRGB();
bitmapData = malloc(bitmapByteCount);
if (bitmapData == NULL)
{
CGColorSpaceRelease(colorSpace);
return NO;
}
tempContext = CGBitmapContextCreate(bitmapData, pixelsWide, pixelsHight, 8, bitMapBytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast);
if (tempContext == NULL)
{
CGColorSpaceRelease(colorSpace);
free(bitmapData);
return NO;
}
CGColorSpaceRelease(colorSpace);
return YES;
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint p = [touch locationInView:self];
[tool setFirstPoint:p];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint p = [touch locationInView:self];
CGPoint previous = [touch previousLocationInView:self];
[tool moveFromPoint:previous toPoint:p];
[tool draw:tempContext];
[self setNeedsDisplay];
}
- (void)drawRect:(CGRect)rect
{
// Drawing code
CGContextRef myContext = UIGraphicsGetCurrentContext();
myImage = CGBitmapContextCreateImage (tempContext);// 5
CGContextDrawImage(myContext, rect, myImage);// 6
}
Так что случилось с ним ??
Кто-нибудь?
Вы должны использовать двойную высоту и ширину для вашего контекста на устройствах сетчатки. – yinkou