【发布时间】:2019-06-04 10:37:26
【问题描述】:
我有高度 5262 和宽度 1240 的 png 图像需要将该图像拆分为 n 个部分,例如保存单个图像后 n = 3 需要将所有图像推送到单个 pdf。
需要水平分割图像并保存单个图像
var imgarray = new System.Drawing.Image[3];
Bitmap imgsize = new Bitmap(path);
var imageHeight = imgsize.Height;
var imageWidth = imgsize.Width;
string pathdata = Path.GetDirectoryName(path)
Bitmap originalImage = new Bitmap(System.Drawing.Image.FromFile(path));
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(0, 0, originalImage.Width, (originalImage.Height / 3) + 1);
Bitmap firstHalf = originalImage.Clone(rect, originalImage.PixelFormat);
firstHalf.Save(pathdata+"\\PageImage1.jpg");
rect = new System.Drawing.Rectangle(0, originalImage.Height / 3, originalImage.Width, originalImage.Height / 3);
Bitmap secondHalf = originalImage.Clone(rect, originalImage.PixelFormat);
secondHalf.Save(pathdata + "\\PageImage2.jpg");
rect = new System.Drawing.Rectangle(0, originalImage.Height / 3, originalImage.Width, originalImage.Height / 3);
Bitmap thirdHalf = originalImage.Clone(rect, originalImage.PixelFormat);
thirdHalf.Save(pathdata+"\\PageImage3.jpg");
分割图像并将其转换为 pdf
问题:当我将其拆分为 3 个部分时,仅创建了 2 个图像
【问题讨论】:
-
嗯,你的后半部分不应该只是
originalImage.Height / 3,而是originalImage.Height / 3 * 2,因为你想从原始高度的第二个第三个开始。 -
正如您在此处看到的,(在资源管理器中预览)在我之前的评论中提到的更改之后,代码按预期工作 - i.stack.imgur.com/aKhvQ.png