图像rip 挂网 灰度图转单色,2bit图 您所在的位置:网站首页 rgb能印刷吗 图像rip 挂网 灰度图转单色,2bit图

图像rip 挂网 灰度图转单色,2bit图

2023-06-15 09:08| 来源: 网络整理| 查看: 265

图像rip 挂网 灰度图转单色,2bit图 tiff 彩色 CMYK打印cmyk 4通道灰度图提取8位灰度图转单色(二值图仅0和255),3级灰度图,后续转为2bit图,进行彩色印刷,打印。如简单的进行阈值二值化,或者通过抖动则效果差很多,以下是挂网后图效果。

tiff 彩色 CMYK打印

通常彩色打印,印刷,需要Tiff 图并为cmyk印刷模式,软件会将其分离成4通道8位灰度图,如果图像不是cmyk模式图而是rgb图,则需要将rgb转为cmyk,如下c++代码

///RGB转cmyk 此方法做了8倍宽度对齐 static void rgbtocmyk(BYTE* &rgb, BYTE*& buf_c, BYTE*& buf_m, BYTE*& buf_y, BYTE*&buf_k, int &w, int &h) { BYTE* buf_rgb = rgb + 54; int linewidth = (((BITMAPINFO*)(rgb + sizeof(BITMAPFILEHEADER)))->bmiHeader.biWidth * 24 + 31) / 32 * 4; w = ((BITMAPINFO*)(rgb + sizeof(BITMAPFILEHEADER)))->bmiHeader.biWidth / 8 * 8; h = ((BITMAPINFO*)(rgb + sizeof(BITMAPFILEHEADER)))->bmiHeader.biHeight; buf_c = (BYTE*)malloc(w*h); buf_m = (BYTE*)malloc(w*h); buf_y = (BYTE*)malloc(w*h); buf_k = (BYTE*)malloc(w*h); memset(buf_c, 0x255, w*h); memset(buf_m, 0x255, w*h); memset(buf_y, 0x255, w*h); memset(buf_k, 0x255, w*h); for (int i = h - 1; i >= 0; i--) { for (int j = 0; j int allbuffsize; int width; TIFF* tif = TIFFOpen(path, "r"); TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &height); TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &width); int perlines = TIFFScanlineSize(tif); BYTE* cmykbuf = (BYTE*)malloc(perlines*height); for (int i = 0; i for (int j = 0; j


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有