2014-10-13 62 views
0

我想使用C#圖形類使用提供的X,Y座標和縮放值來繪製圖像。我試圖做到這一點,但它沒有給我正確的結果。如何使用C#圖形繪製圖像類

Stream originalStream = ImageHelper.UrlToImageStream(list1.FirstOrDefault().OriginalImageUrl); 

var bmp = new Bitmap(bmp.Width, bmp.Height); 

int width = 0; 
int height = 0; 

var img = new Bitmap(bmp, 
        (int)(bmp.Size.Width/zoomLevel), 
        (int)(bmp.Size.Height/zoomLevel)); 

var g = Graphics.FromImage(bmp); 

g.SmoothingMode = SmoothingMode.AntiAlias; 
g.InterpolationMode = InterpolationMode.HighQualityBicubic; 
g.PixelOffsetMode = PixelOffsetMode.HighQuality; 

g.DrawString(Text, SystemFonts.DefaultFont, Brushes.White, new Rectangle((int)CurrentTextX, (int)CurrentTextY, bmp.Width, bmp.Height)); 

g.DrawImage(img, new Rectangle((int)CurrentX, (int)CurrentY, bmp.Width, bmp.Height)); 

var stream = new System.IO.MemoryStream(); 

img.Save(stream, ImageFormat.Jpeg); 
+0

問題是什麼?你沒有得到什麼,或者是你以某種方式錯誤的?請給我們更多的工作。 – JoriO

+0

我發現一個問題就是var bmp = new Bitmap(bmp.Width,bmp.Height);你可以在聲明時使用bmp嗎? –

回答

0
private void mapPaint(object sender, PaintEventArgs e) 
{ 
    Graphics g = e.Graphics; 
    Image img = Image.FromFile(@"C:\img.png"); 
    g.DrawImage(img, new Rectangle(10,10,img.Width/zoomLevel, img.Height/zoomLevel); 
} 

試試這樣也什麼是正確的,現在你得到不正確的結果?