在我的网络应用程序中,我需要将3个图像组合成单个图像(垂直对齐)图像。我有两个图像的代码到单个图像,但它们并排合并。我需要上下,以及如何添加第三张图片。
我在网上找到的代码:
我尝试了2张图片的代码:
的.aspx:
<div>
<asp:Button ID="Button1" runat="server" Text="Merge" onclick="Button1_Click"/>
<asp:Image ID="Image1" runat="server" ImageUrl="~/Images/Flower2.jpg" Height="129px" Width="210px"/><br />
<asp:Image ID="image2" runat="server" ImageUrl="~/Images/Flower4.jpg" Height="129px" Width="210px"/><br />
<asp:Image ID="MergedCombinedImage" runat="server" />
</div>
的.cs
protected void Button1_Click(object sender, EventArgs e)
{
string img1path = MapPath("~/Images/Flower2.jpg");
string img2path = MapPath("~/Images/Flower4.jpg");
// Load two Images to be combined into Image Objects
System.Drawing.Image img1= System.Drawing.Image.FromFile(img1path);
System.Drawing.Image img2= System.Drawing.Image.FromFile(img2path);
// Create a Resultant Image that’ll hold the above two Images
//Here i am creating the final image with width as combined width of img1 and img2 and height as largest height among img1 and img2
using (Bitmap FinalBitmap = new Bitmap(img1.Width + img2.Width, img2.Height > img1.Height ? img2.Height : img1.Height)) //This condition how can i add img3
{
using (Graphics FinalImage = Graphics.FromImage(FinalBitmap))
{
// Draw the first image staring at point (0,0) with actual width and height of the image, in final image
FinalImage.DrawImage(img1, new Rectangle(0, 0, img1.Width, img1.Height));
// and Draw the second image staring at point where first image ends in the final image and save changes
FinalImage.DrawImage(img2, img1.Width, 0);
FinalImage.Save();
// Write the bitmap to an image file and you’re done
FinalBitmap.Save(MapPath("~/ResultImages/Outputimg.jpg"));
MergedCombinedImage.ImageUrl = "~/ResultImages/Outputimg.jpg";
}
}
}
答案 0 :(得分:0)
嗯,你有的代码是并排合并它。实际上,所有这些都是。我猜你自己没有写,但只是从某个地方抓住它。你真正需要做的就是在逻辑上做一个小的交换,你就完成了: