混合2个图像并增加新一代图像的大小



我制作了一个应用程序,它从网络获取图像并将其与My Hard中的图像混合并生成新图像。我的问题是在此过程后增加新的照片大小.例如,如果主照片是 50X50 像素,在此操作后为 50kb,则新图像是相同的 50X50 像素,但它的新大小为 400kb!

请帮助我解决这个可怕的问题。
我使用此方法混合了此图像:

HttpWebRequest MakeRequest = (HttpWebRequest)HttpWebRequest.Create(ImageURL);
HttpWebResponse Respnse = (HttpWebResponse)MakeRequest.GetResponse();
Stream Streaming = Respnse.GetResponseStream();
Image ImageNews = Image.FromStream(Streaming);
imgToResize = ImageNews;

Image Logo = Image.FromFile("d:\logonews.jpg");
Bitmap NewsMainImage = new Bitmap(ImageNews.Width, ImageNews.Height);
Graphics makeImage = Graphics.FromImage(NewsMainImage);
makeImage.DrawImage(ImageNews, 
                     new Rectangle(new Point(), ImageNews.Size), 
                     new Rectangle(new Point(), ImageNews.Size),  
                    GraphicsUnit.Pixel);

makeImage.DrawImage(Logo, 
                    new Rectangle(new Point(0, ImageNews.Height - Logo.Height),  
                                  Logo.Size),  
                    new Rectangle(new Point(), 
                                  Logo.Size),  
                    GraphicsUnit.Pixel);

"makeImage"渲染为Jpeg。您可能会将其作为位图返回,这会导致文件大小出现问题。将其呈现为 Jpeg 或 Png 将解决此问题。

检查

您的makeImage变量属性PixelOffsetMode,因为可能是高质量的;

添加此行:

makeImage.PixelOffsetMode

= PixelOffsetMode.HighSpeed;

高速设置低质量

最新更新