4张CMYK单色图片(tif格式,比较大,50454*24083像素)怎么合成一张图片?用户C++或者java都行

4张CMYK单色图片(tif格式,比较大,50454*24083像素)怎么合成一张图片?用户C++或者java都行,第1张

找一个tif库试试 libtiff之类的
图像处理里面一般合成超大图都是伪需求,
超大图类似于百度地图那种,实际上是金字塔之后每层分别切成256256的瓦片,你看哪里就加载哪里。
如果只是要一张大图测试用途试试photoshop吧,你这个图可能处理。

在PS中,打开需要合成的JPG。
以其中一张JPG为主,将其他依次点住拖到该主中,然后调整画布大小和大小及位置。
然后选择“文件”--“另存为”,保存为tif格式,就OK了。

这些文件能拼到一个word文件,就能直接生成pdf文件了。
由于是扫描的文件,内容都比较靠边(占满整张纸),在word提前把纸张的边距设置为最小,直接拉边距为0,然后插入,请记住按照顺序插入。
然后安装pdfcreator的下载地址>#include <windowsh>
#include <gdiplush>
#include <stdioh>
using namespace Gdiplus;
INT GetEncoderClsid(const WCHAR format, CLSID pClsid); // helper function
INT main()
{
// Initialize GDI+
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
EncoderParameters encoderParameters;
ULONG parameterValue;
Status stat;
// An EncoderParameters object has an array of
// EncoderParameter objects In this case, there is only
// one EncoderParameter object in the array
encoderParametersCount = 1;
// Initialize the one EncoderParameter object
encoderParametersParameter[0]Guid = EncoderSaveFlag;
encoderParametersParameter[0]Type = EncoderParameterValueTypeLong;
encoderParametersParameter[0]NumberOfValues = 1;
encoderParametersParameter[0]Value = &parameterValue;
// Get the CLSID of the TIFF encoder
CLSID encoderClsid;
GetEncoderClsid(L "image/tiff ", &encoderClsid);
// Create four image objects
Image multi = new Image(L "Shapesbmp ");
Image page2 = new Image(L "Cerealgif ");
Image page3 = new Image(L "Ironjpg ");
Image page4 = new Image(L "Housepng ");
// Save the first page (frame)
parameterValue = EncoderValueMultiFrame;
stat = multi-> Save(L "MultiFrametif ", &encoderClsid, &encoderParameters);
if(stat == Ok)
printf( "Page 1 saved successfully\n ");
// Save the second page (frame)
parameterValue = EncoderValueFrameDimensionPage;
stat = multi-> SaveAdd(page2, &encoderParameters);
if(stat == Ok)
printf( "Page 2 saved successfully\n ");
// Save the third page (frame)
parameterValue = EncoderValueFrameDimensionPage;
stat = multi-> SaveAdd(page3, &encoderParameters);
if(stat == Ok)
printf( "Page 3 saved successfully\n ");
// Save the fourth page (frame)
parameterValue = EncoderValueFrameDimensionPage;
stat = multi-> SaveAdd(page4, &encoderParameters);
if(stat == Ok)
printf( "Page 4 saved successfully\n ");
// Close the multiframe file
parameterValue = EncoderValueFlush;
stat = multi-> SaveAdd(&encoderParameters);
if(stat == Ok)
printf( "File closed successfully\n ");
delete multi;
delete page2;
delete page3;
delete page4;
GdiplusShutdown(gdiplusToken);
return 0;
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12574948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存