在位图上均匀定位多个图像
本文关键字:图像 定位 位图 | 更新日期: 2023-09-27 18:30:56
我正在尝试将许多图像定位到单个固定大小的Image
上。固定Image
的大小为 200 x 200(像素)。假设我的List<Image>
包含 3 张图像。前 2 张图像的位置应彼此相邻并位于固定Image
的顶部。第三Image
应呈现在"第二"行上,并在前 2 个图像下方居中。此模式需要对图像列表中的任意数量的图像重复此操作。假设列表包含 4 个图像,则前 2 个图像在第一行上彼此相邻呈现,后 2 个图像在第二行上彼此相邻呈现,依此类推。这是我到目前为止尝试的,但定位到处都是:
Bitmap finalIcon = new Bitmap(200, 200);
Image imgFinalIcon = (Image)finalIcon;
using (Graphics g = Graphics.FromImage(imgFinalIcon))
{
int xOffSet = 0;
int item = 1;
foreach (Image icon in iconList)
{
int yOffset = 0;
if (item > 2 && (iconList.Count() % 2 != 0))
{
yOffset = imgFinalIcon.Height / 2;
}
else
{
yOffset = (imgFinalIcon.Height / 2) / 2;
}
g.DrawImage(icon, xOffSet, yOffset);
xOffSet += icon.Width;
item++;
}
}
iconList
是我的图像列表。请帮忙吗?
据我所知,您不会增加 y 偏移量。
尝试:
yOffset += icon.height;
在顶部显示 2 张图像后或显示下面的居中图像后。
您的 yOffset 是本地的,只存在于循环中,当新的循环交互开始时,它一直设置为 0。 但它在循环之外。