- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个用 xcode 6.1 创建的 osx xcode 项目我想用它来训练一下 SWIFT 的使用。
在我的一个观点中,我尝试创建一个 NSBitMapImageRep,如下所示:
class BitmapView : NSView {
var image: NSBitmapImageRep!
override func awakeFromNib() {
var blub = NSBitmapImageRep(bitmapDataPlanes: nil,
pixelsWide: Int(self.frame.size.width),
pixelsHigh: Int(self.frame.size.height),
bitsPerSample: 8,
samplesPerPixel: 1,
hasAlpha: false,
isPlanar: false,
colorSpaceName: NSCalibratedRGBColorSpace,
bytesPerRow: 0, bitsPerPixel: 0)!
//test()
}}
但每次我尝试运行它时,我都会收到以下错误:
Inconsistent set of values to create NSBitmapImageRep fatal error: unexpectedly found nil while unwrapping an Optional value
我猜这是因为 bitmapDataPlanes 为零。但它是一个可选值,根据文档允许为 NULL。传递 NSNull() 而不是编译。
有人能告诉我我必须通过什么吗? o_O
最佳答案
该错误实际上具有相当的描述性 - 您向初始化程序提供了一组不一致的值。具体来说,值为 1 的 samplesPerPixel
不能支持您在 colorSpaceName
中指定的 RGB 颜色空间。 From here :
samplesPerPixel
: The number of data components, or samples per pixel. This value includes both color components and the coverage component (alpha), if present. Meaningful values range from 1 through 5. An image with cyan, magenta, yellow, and black (CMYK) color components plus a coverage component would have an spp of 5; a grayscale image that lacks a coverage component would have an spp of 1.
所以你只需要将每个像素的样本数更改为 3:
var blub = NSBitmapImageRep(bitmapDataPlanes: nil,
pixelsWide: Int(100),
pixelsHigh: Int(100),
bitsPerSample: 8,
samplesPerPixel: 3,
hasAlpha: false,
isPlanar: false,
colorSpaceName: NSCalibratedRGBColorSpace,
bytesPerRow: 0, bitsPerPixel: 0)!
关于xcode - 无法在 Swift 中创建 NSBitmapImageRep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26978985/
我有一个包含 JPEG 图像数据的缓冲区。我需要在 UIImageView 中显示此图像。我需要将此图像缓冲区转换为 UIImage 对象并按如下方式使用它 NSData *data = [NSDat
我有一个 char* 数据数组,它是 RGBA 格式,然后移至 ARGB 底线是设置的应用程序图像看起来完全困惑,我无法指出为什么? //create a bitmap representat
有没有办法在具有子像素抗锯齿功能的 NSBitMapImageRep 中绘制文本?文本绘制在不透明的白色背景上,我尝试使用 CGContextSetShouldSmoothFonts 函数,但这似乎没
首先:我想使用NSBezierPath在我的应用程序中绘制一些简单的按钮图稿,所以我想我应该创建一个 NSBitmapImageRep ,得到CGImage ,创建一个NSImage然后在按钮上调用
我尝试构建图像。逐个像素。所以首先我构建了一些类,它可以在每个像素上循环绘制不同的颜色。但它仅在将 alpha 设置为 255 时才有效。更改 alpha 会使颜色变暗并改变图片。大小和位置都可以。
我正在尝试将 NSImage 读入 NSBitmapImageRep,以更改某些像素的颜色。程序应该读取每个像素的颜色值,并检查它是否等于颜色池选择的颜色。我有一个名为“MainImageView”的
所以...我将图像加载到 NSBitmapImageRep 对象中,因此我能够通过二维数组检查特定像素的内容。现在我想对图像应用一些“转换”,为一些额外的处理做准备。如果我在 Photoshop 中手
我想使用 NSBitmapImageRep 在代码中构造一个 64x64 像素的 Sprite ,然后将其绘制到屏幕上,放大得很大。结果将是屏幕上出现非常大的“像素”。想想老派的《马里奥兄弟》或《我的
我有一种方法可以分析从 CGImageRef 构建的 NSBitmapImageRep 内的像素数据。相关代码如下: CGImageRef ref; // omitted code for initi
我正在开发我的第一个 10.5+ 版本的 mac osx cocoa 应用程序,其中我有一个 CVImageBufferRef (使用 QTKit 捕获),我需要通过 TCP 套接字将此图像传输到客户
获取 NSBitmapImageRep 的大小(宽度和高度)的最佳方法是什么? 这就是我现在正在做的事情: NSBitmapImageRep *bitmap; NSInteger samplesPer
我正在尝试创建内存中图像,在其上绘制并保存到磁盘。 当前代码是: NSBitmapImageRep *rep = [[NSBitmapImageRep alloc]
我有一个像这样创建的NSBitmapImageRep: NSBitmapImageRep *imageRep = [[NSBitmapImageRep alloc]
我想了解在构建 NSBitmapImageRep 时如何计算“bytesPerRow”(在我的例子中是从将 float 组映射到灰度位图)。 澄清这个细节将帮助我理解内存如何从 float 组映射到字
如何在 NSImageView 中绘制 NSBitmapImageRep? 最佳答案 NSImage *im = [[[NSImage alloc] init] autorelease]; [im a
我在 C++ 应用程序中使用 Objective-C 在 OSX 上加载图像。它是一个 OpenGL 应用程序。这是我用来将图像加载到 opengl 中的代码: bool OSXSpecifics::
我有一个用 xcode 6.1 创建的 osx xcode 项目我想用它来训练一下 SWIFT 的使用。 在我的一个观点中,我尝试创建一个 NSBitMapImageRep,如下所示: class B
如何将 NSImage 转换为 NSBitmapImageRep?我有代码: - (NSBitmapImageRep *)bitmapImageRepresentation { NSBitma
我正在尝试编写一个原型(prototype)来证明从一种格式到另一种格式的 RAW 转换是可能的。我必须将尼康的 .NEF 格式的原始文件转换为佳能的 .CR2 格式。在各种帖子的帮助下,我创建了原始
我正在尝试创建一个每个样本 32 位和一个 Alpha channel (每像素总共 128 位)的 NSBitmapImageRep 对象。 我的代码如下所示: let renderSize = N
我是一名优秀的程序员,十分优秀!