2014-01-05 61 views
2

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

请帮我解决这个可怕的问题。
我用这个方法来此图像混合:因为可能是在高质量

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); 

回答

2

渲染 “makeImage” 为JPEG。您可能将其作为位图返回,从而导致您的文件大小问题。将其渲染为Jpeg或Png可以解决问题。

1

检查属性PixelOffsetMode在makeImage变量;

添加这一行:

makeImage.PixelOffsetMode = PixelOffsetMode.HighSpeed;

高速设置低质量