2015-05-18 2 views
1

У меня проблема с UIImage Изменение размера, маскирование изображений работает нормально, но после нанесения маски UIImage накрахмален, проблема в масштабировании, так как изображение не масштабируется должным образом.не может изменить размер изображения правильно

CCClippingNode *clippingNode = [[CCClippingNode alloc] initWithStencil:pMaskingFrame ]; 
pTobeMasked.scaleX = (float)pMaskingFrame.contentSize.width/(float)pTobeMasked.contentSize.width; 
pTobeMasked.scaleY = (float)pMaskingFrame.contentSize.height/(float)pTobeMasked.contentSize.height; 
clippingNode.alphaThreshold = 0; 
[pContainerNode addChild:clippingNode]; 
pTobeMasked.position = ccp(pMaskingFrame.position.x, pMaskingFrame.position.y); 
[clippingNode addChild:pTobeMasked]; 
+0

вы на самом деле означает 'UIImage' или это результат какого-то рьяного редактирование вашего вопроса и теги? – YvesLeBorg

ответ

0

Один из моих проектов, которые я использовал ниже для изменения размера изображения;

/* 
    method parameters definition 
    image : original image to be resized 
    size : new size 
*/ 
+ (UIImage*)resizeImage:(UIImage *)image size:(CGSize)size 
{ 
    UIGraphicsBeginImageContext(size); 
    [image drawInRect:CGRectMake(0, 0, size.width, size.height)]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    //here is the scaled image which has been changed to the size specified 
    UIGraphicsEndImageContext(); 
    return newImage; 
} 
0

Это будет работать как очарование. Это похоже на уже размещен ответ, но у него есть еще несколько вариантов:

+(UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize 
{ 
    //UIGraphicsBeginImageContext(newSize); 
    // In next line, pass 0.0 to use the current device's pixel scaling factor (and thus account for Retina resolution). 
    // Pass 1.0 to force exact pixel size. 
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0); 
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return newImage; 
} 
+0

спасибо Jasper Pol и ondermerol –

Смежные вопросы