Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4511141
  • 博文数量: 356
  • 博客积分: 10458
  • 博客等级: 上将
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-24 14:59
文章分类

全部博文(356)

文章存档

2020年(17)

2019年(9)

2018年(26)

2017年(5)

2016年(11)

2015年(20)

2014年(2)

2013年(17)

2012年(15)

2011年(4)

2010年(7)

2009年(14)

2008年(209)

分类: C/C++

2018-12-10 10:47:42

需求是要把一串数字转化成条码,显示在界面上供打印机打印。

过程是使用zint库转化文本为rgb的buffer,然后把rgb转换成qt的QPixmap,在界面上显示,

如果是MFC的话,原理相通,有rgb数据显示都好办。

  1. QPixmap Bitmap2Pixmap(unsigned char *bitmap, int width, int height)
  2. {
  3.     QImage img(bitmap, width, height, QImage::Format_RGB888);
  4.     QPixmap ret;
  5.     ret.convertFromImage(img);
  6.     return ret;
  7. }
  8.  
  9.  
  10.  
  11.     struct zint_symbol *m_symbol;
  12.     m_symbol = ZBarcode_Create();
  13.     if (m_symbol == NULL)
  14.     {
  15.         QMessageBox::warning(this, "test", "ZBarcode_Create create failed!");
  16.         return;
  17.     }
  18.     else
  19.     {
  20.         m_symbol->symbology = BARCODE_CODE128;
  21.         m_symbol->scale = 2;
  22.     }
  23.  
  24.     ZBarcode_Encode_and_Buffer(m_symbol, (unsigned char *)inputStr.toLocal8Bit().data(), deviceId.size(), 0);
  25.     QPixmap pixmap = Bitmap2Pixmap((unsigned char *)m_symbol->bitmap, m_symbol->bitmap_width, m_symbol->bitmap_height);
  26.     ui->codeLabel->setPixmap(pixmap);
  27.     ZBarcode_Delete(m_symbol);
作者:帅得不敢出门   c++哈哈堂:31843264

阅读(2676) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~