[英]How to save image jpg or other format after uploading as png using asp.net c#
[英]How could I position multiple transparent PNGs onto a JPG using c# and asp.net?
我想编写一个允许网络用户上传jpg并将透明png放置在该上传图像顶部的应用程序。 层数,层的位置以及实际的图像文件信息将使用javascript和CSS进行收集和处理。
拥有透明png的图像文件和xyz坐标后,如何从这些图像创建单个jpg? 你们有一个很好的起点,可以去研究吗?
嘿,我得到的前两个答案似乎很有效。 使用System.Drawing.Graphics
和使用System.Drawing.Image
什么区别?
这是一篇文章,作者在其中添加了水印图像到现有图像。
该操作的核心是:
System.Drawing.Graphics myGraphic = null;
Image imgB;
imgB = Image.FromFile(ImageBack);
Image imgF;
imgF = Image.FromFile(ImageFore);
Image m;
m = Image.FromFile(ImageBack);
...
myGraphic = System.Drawing.Graphics.FromImage(m);
myGraphic.DrawImageUnscaled(imgB,0,0);
myGraphic.DrawImageUnscaled(imgF,0,0);
myGraphic.Save();
这是我使用的一些代码(经过修改以显示原理):
private void ProcessPhoto()
{
System.Drawing.Image imgThumb = System.Drawing.Image.FromFile("some.jpg");
// 43w, 35h = offset in frame
System.Drawing.Image imgFrame = System.Drawing.Image.FromFile("transparent_something.png");
Bitmap bmImage = new Bitmap(imgThumb);
bmImage.SetResolution(72, 72);
Graphics gFrame = Graphics.FromImage(imgFrame);
gFrame.DrawImage(bmImage, new Point(38, 44)); // offset point of where you want to draw
gFrame.Dispose();
SavePhoto(imgFrame, "dest.png");
imgFrame.Dispose();
imgThumb.Dispose();
}
private void SavePhoto(System.Drawing.Image img, string fileName)
{
string ext = Path.GetExtension(fileName);
fileName = fileName.Replace(ext, ".png");
img.Save(fileName, GetImageEncoder("PNG"), null);
}
编辑: 在这里阅读有关Graphics类的所有信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.