objective-c – 如何使用Objective C使用Bluebamboo设备打印图像
发布时间:2020-12-16 06:57:18 所属栏目:百科 来源:网络整理
导读:我是一个新的目标c开发和项目工作,我使用外部附件设备是Bluebamboo P25M打印机和信用卡交换器. 我必须使用此打印机打印图像. Bluebamboo提供了一个SDK,但在这个SDK中,他们使用的是char类型的位图图像.现在,我如何制作我的图像阵列,以便它可以打印任何图像.
我是一个新的目标c开发和项目工作,我使用外部附件设备是Bluebamboo P25M打印机和信用卡交换器.
我必须使用此打印机打印图像. Bluebamboo提供了一个SDK,但在这个SDK中,他们使用的是char类型的位图图像.现在,我如何制作我的图像阵列,以便它可以打印任何图像. 这是我的代码 if (normalPrint==3)//print image { unsigned char buffer3[796]={ 0x55,0x66,0x77,0x88,0x44,0x1B,0x58,0x31,0x19,0x20,0x00,0x80,0x01,0xC0,0x03,0x60,0xA0,0x07,0xB0,0x05,0xD8,0x13,0xEC,0x04,0x29,0xF4,0x64,0xF9,0x0F,0xFF,0x9C,0x7F,0xFC,0x3D,0xF1,0xE3,0xF2,0x73,0xFE,0xFD,0xE0,0x79,0x26,0xDC,0xF0,0x7D,0xFB,0xF7,0x3C,0x8F,0x0C,0x70,0x0E,0x1D,0x3B,0x9E,0xF8,0x33,0x4F,0x27,0xF3,0x53,0xC8,0xEF,0xDD,0x90,0xC9,0xDF,0x9D,0xE4,0x06,0xE7,0xCF,0x40,0xE6,0xC7,0x49,0x9F,0xC2,0x1C,0x1F,0xE1,0xC1,0x1E,0x4C,0x00 }; //[self addLabel:@"buffer3 is selected"]; [[session outputStream] write:(const uint8_t *)buffer3 maxLength:796];//send print package 在此代码中,数组[0x55,]中的前10个值是打印机的命令,其余是图像数据. 解决方法
您没有指定该打印机的图像数据的格式.是RGB吗? CMYK? CMY?
我认为一般的问题是,你如何得到图像的原始字节.有多种方法可以做到这一点.首先,您可以获得图像的TIFF版本:您可以转换数据格式的TIFF吗? NSImage *myImage = ...; NSData *bytes = [myImage TIFFRepresentation]; 一旦有了NSData,就可以在write:例程中获取缓冲区(原始字节)和缓冲区的长度. 更一般地说,您可以创建这样的位图表示: CIImage *myImage = ...; NSBitmapImageRep *bitmapRep = [[NSBitmapImageRep alloc] initWithCIImage:myImage]; NSData *jpegData [bitmapRep representationUsingType:NSJPEGFileType properties:nil]; [jpegData writeToFile:@“/ Users / username / Desktop / MyImage.jpeg”atomically:YES]; 这将为您提供JPEG格式的原始字节. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |