Si creo una NSImage
a través de algo como:tratando de convertir [NSImage imageNamed: NSImageNameUser] en NSData
NSImage *icon = [NSImage imageNamed:NSImageNameUser];
que sólo tiene una representación, un NSCoreUIImageRep
que parece ser una clase privada.
me gustaría archivar esta imagen como una NSData
pero si pido la TIFFRepresentation
me sale un pequeño icono cuando el verdadero NSImage
he creado originalmente parecía ser vectorial y se escala hasta llenar mis puntos de vista de imagen muy bien.
Tenía la esperanza de que las imágenes creadas de este modo tuvieran un NSPDFImageRep
que podría usar.
¿Alguna idea de cómo puedo obtener un NSData
(pref la versión de vector o en el peor una versión de mapa de bits de gran escala) de este NSImage
?
ACTUALIZACIÓN
habló con algunas personas on Twitter y sugirió que el verdadero origen de estas imágenes son multi resolución icns archivos (vector probablemente no en todos). No pude encontrar la ubicación de estos en el disco, pero es interesante escuchar nada menos.
Además, sugirieron que creara el NSImage del sistema y lo renderizara manualmente en un NSI de alta resolución propio. Estoy haciendo esto ahora y está trabajando para mis necesidades. Mi código:
+ (NSImage *)pt_businessDefaultIcon
{
// Draws NSImageNameUser into a rendered bitmap.
// We do this because trying to create an NSData from
// [NSImage imageNamed:NSImageNameUser] directly results in a 32x32 image.
NSImage *icon = [NSImage imageNamed:NSImageNameUser];
NSImage *renderedIcon = [[NSImage alloc] initWithSize:CGSizeMake(PTAdditionsBusinessDefaultIconSize, PTAdditionsBusinessDefaultIconSize)];
[renderedIcon lockFocus];
NSRect inRect = NSMakeRect(0, 0, PTAdditionsBusinessDefaultIconSize, PTAdditionsBusinessDefaultIconSize);
NSRect fromRect = NSMakeRect(0, 0, icon.size.width, icon.size.width);;
[icon drawInRect:inRect fromRect:fromRect operation:NSCompositeCopy fraction:1.0];
[renderedIcon unlockFocus];
return renderedIcon;
}
(? Intentado publicar esto como mi respuesta, pero no tengo la reputación suficiente)
Tu pregunta me ha resultado útil y tu respuesta ha funcionado. – Guillaume