こんにちは私の絵のボックスを円の形にしたい それを印刷してください。絵のボックスに描いてそれを印刷する
問題は、画像ボックスが円であることがわかりますが、印刷するためにプレビューするときに円ではないことがわかります。
は、ここに私のコード
public Form1()
{
InitializeComponent();
//This makes picturebox1 circle
System.Drawing.Drawing2D.GraphicsPath gp = new System.Drawing.Drawing2D.GraphicsPath();
gp.AddEllipse(0, 0, pictureBox1.Width - 4, pictureBox1.Height - 4);
Region rg = new Region(gp);
pictureBox1.Region = rg;
}
//Preview the print
private void button1_Click(object sender, EventArgs e)
{
printPrev.Document = printDoc;
printPrev.ShowDialog();
}
private void printDoc_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
//Draw the picturebox on PDF
e.Graphics.DrawImage(pictureBox1.Image, 230, 230);
}
おかげ
あなたのピクチャボックスが円です。しかし、あなたが印刷するときには、イメージボックスではなく、イメージを印刷します。それにもクリッピング領域が設定されている必要があります。 –
紙に絵文字を描くのはかなり賢明ではありません。あなたは、モニターとプリンタの解像度の大きな大きな違いの効果を発見します。画面上のすべてのピクセルは6x6の塊に変わり、非常に粒状に見え、長い腕を持つときにのみよく見えます。しかし、これをやりたければDrawToBitmap()メソッドを使う必要があります。 Graphics.ClipプロパティはRegionも受け入れます。 –
@SamKuhmonenどのようにクリッピング領域を設定できますか? –