Image processing 删除多页tif中的分页符以生成一个长页
我有一些包含多个页面的tif文件,我想将其转换为一个长页面。i、 e.包含两个页面(每个页面为8.5x11)的文件将转换为大小为8.5x22的结果文件。有没有办法删除分页符Image processing 删除多页tif中的分页符以生成一个长页,image-processing,tiff,Image Processing,Tiff,我有一些包含多个页面的tif文件,我想将其转换为一个长页面。i、 e.包含两个页面(每个页面为8.5x11)的文件将转换为大小为8.5x22的结果文件。有没有办法删除分页符 我不是问如何将多个文件转换为单个文件。我已经解决了这个问题。下面的代码中有一大部分来自on 此C#函数获取源图像的文件名及其tiff输出的保存位置: public static void RemovePageBreaks(string fileInput, string fileOutput) {
我不是问如何将多个文件转换为单个文件。我已经解决了这个问题。下面的代码中有一大部分来自on 此C#函数获取源图像的文件名及其tiff输出的保存位置:
public static void RemovePageBreaks(string fileInput, string fileOutput)
{
using (Image image = Image.FromFile(fileInput))
using (MemoryStream m = new MemoryStream())
{
int width = image.Width;
int height = 0;
int pageCount = image.GetFrameCount(FrameDimension.Page);
height = image.Height * pageCount;
int pasteFrom = 0;
using (Bitmap compositeImage = new Bitmap(width, height))
using (Graphics compositeGraphics = Graphics.FromImage(compositeImage))
{
compositeGraphics.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
for (int page = 0; page < pageCount; page++)
{
image.SelectActiveFrame(FrameDimension.Page, page);
image.Save(m, image.RawFormat);
Rectangle rect = new Rectangle(0, pasteFrom, image.Width, image.Height);
compositeGraphics.DrawImageUnscaledAndClipped(image, rect);
pasteFrom += image.Height;
}
compositeImage.Save(fileOutput, System.Drawing.Imaging.ImageFormat.Tiff);
}
}
}
公共静态void RemovePageBreaks(字符串文件输入,字符串文件输出)
{
使用(Image=Image.FromFile(fileInput))
使用(MemoryStream m=新的MemoryStream())
{
int-width=image.width;
整数高度=0;
int pageCount=image.GetFrameCount(FrameDimension.Page);
高度=图像。高度*页数;
int-pasteFrom=0;
使用(位图合成图像=新位图(宽度、高度))
使用(Graphics compositeGraphics=Graphics.FromImage(compositeImage))
{
compositeGraphics.CompositingMode=System.Drawing.Drawing2D.CompositingMode.SourceCopy;
对于(int page=0;page