加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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格式的原始字节.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读