【问题标题】:How to read PNG image to NSImage如何将PNG图像读取到NSImage
【发布时间】:2011-02-10 12:25:21
【问题描述】:

如何将 PNG 图像读取到 NSImage。我尝试了以下方法,但是当我获得图像的宽度和大小时,我得到了一些奇怪的值..如果有人能引导我走上正确的道路..非常合适..

 NSImage * picture =  [[NSImage alloc] initWithContentsOfFile: [bundleRoot stringByAppendingString:tString]];

 NSLog(@"sixe %d %d",picture.size.width, picture.size.height);
 if( picture ){ 
  NSLog(@"Picture is not null"); 
 }else {
  NSLog(@"Picture is null.");
 }

谢谢

【问题讨论】:

  • 这似乎忽略了我的 .png 中的 alpha 通道。有没有办法保留这个?

标签: cocoa nsimage


【解决方案1】:

使用[NSImage imageNamed:tString]。 tString 应该是图像文件的基本文件名;并且不需要包含文件扩展名。

【讨论】:

  • 感谢快速回复,你能告诉我如何将下面的代码转换为 Mac OS X Iphone App-->使用 UIKit CGRect rect = CGRectMake(offset.x * scale, offset.y * scale , 比例* size.width, 比例* size.height); UIGraphicsPushContext(ctx); [图像绘制矩形:矩形]; UIGraphicsPopContext();
【解决方案2】:

您加载图像的代码是正确的。

显示尺寸的代码不正确; NSSize 的成员是 CGFloat,应该使用 %f 格式字符串打印:

NSLog(@"size %f %f",picture.size.width, picture.size.height);

【讨论】:

  • 感谢快速回复,你能告诉我如何将下面的代码转换为 Mac OS X Iphone App-->使用 UIKit CGRect rect = CGRectMake(offset.x * scale, offset.y * scale , 比例* size.width, 比例* size.height); UIGraphicsPushContext(ctx); [图像绘制矩形:矩形]; UIGraphicsPopContext();
  • 查看绘图指南 (developer.apple.com/mac/library/documentation/cocoa/Conceptual/…)。它解释了如何获取图形上下文以及如何绘制图像。
猜你喜欢
  • 2014-07-27
  • 2012-01-11
  • 2019-09-01
  • 2014-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多