2016-07-16 6 views
0

私は、ここに は、コード100 X 100、 ですが、私はそれを描きたいとき、それはいくつかの奇妙resoneのためにリサイズ取得するイメージでいます画像は思わずリサイズし

w = 100; 
    h = image1.height + image2.height + image3.height;//every image height is 100 
    SpaceShip = (Image)new Bitmap(SpaceShip, new Size(w, h)); 
    Graphics g = Graphics.FromImage(SpaceShip); 
    g.Clear(Color.Transparent); 
    g.DrawImage(image1, new Point(0, 0)); 
    g.DrawImage(image2, new Point(0,image1.Height)); 
    g.DrawImage(image3, new Point(0, image1.Height +image2.Height)); 

    g.Dispose(); 

はこれがあります出力:

http://i.stack.imgur.com/YJt42.png

三角形がtransperant backroundのと100×100です。

答えて

0

送信元/送信先の矩形とGraphicsUnit.Pixelを使用するDrawImageのオーバーロードを使用します。 https://msdn.microsoft.com/en-us/library/ms142040(v=vs.110).aspx

これは、DPIスケーリングのために発生しています。

+0

いずれか、またはすべての画像を画面またはターゲット画像と同じdpi解像度に設定します。 – TaW

+0

ありがとう、しかし、私もこれが動作することがわかった: イメージ_img1 =(イメージ)新しいビットマップ(img1、(新しいサイズ(100,100))); – TheNormalPotato

関連する問題