2016-04-05 9 views
0

おはよう!私は、ゼブラプリンタで私のアプリでワンクリックプリントをしようとしていました。別のプリンタで印刷すると、pngファイルが正しく印刷されますが、Zebraでは正しく印刷されません。Zebraプリントで希望の出力が印刷されない

ここに私のコードです。

PrintDocument pd = new PrintDocument(); 
pd.DefaultPageSettings.PrinterSettings.PrinterName = GetDefaultPrinter(); 
pd.DefaultPageSettings.Landscape = true; //or false! 
pd.PrintPage += (aw, args) => 
{ 

    Image i = Image.FromFile(@"C:\Coke\pres10.png"); 
    Rectangle m = args.MarginBounds; 

    if ((double)i.Width/(double)i.Height > (double)m.Width/(double)m.Height) // image is wider 
    { 
     m.Height = (int)((double)i.Height/(double)i.Width * (double)m.Width); 
    } 
    else 
    { 
     m.Width = (int)((double)i.Width/(double)i.Height * (double)m.Height); 
    } 
    m.Width = m.Width; 
    m.Height = m.Height; 
    args.Graphics.DrawImage(i,m); 
}; 
pd.Print(); 

画像:enter image description here

答えて

0

は、あなたがしようとすると、これを行うことができます。これがうまくいくかどうかわからない。

手順1:元の画像の縦横比を計算します。アスペクト比は高さと幅の比率です。計算にはcalculatorを使用できます。元の画像と最終的な画像を計算してください。

手順2:アスペクト比にずれがないかどうかを確認します。はいの場合は、画面の完璧なアスペクト比を取得してください。

+0

アスペクト比を適用するにはどうすればよいですか? – codesofdave

+0

元の高さ/元の幅を分割する際には、要素があります。その要素を掛けます...この例の例を教えてください。 – Apoorv

+0

よろしくお願いします。どうもありがとうございます! – codesofdave

関連する問題