|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
نويسنده |
پيغام |
MahanGM پیر بازی سازی
تاريخ عضويت: 3 شنبه 20 شهريور 1386 تعداد ارسالها: 1846 محل سكونت: USS Terra Nova
5 شنبه 9 خرداد 1392 - 12:16 |
|
|
Parham, داری توی picturebox از paint استفاده میکنی دیگه؟ کلا زمانی که شما داری paint میکنی چیزی روی image تریسیم نمیشه و کلا اصلا شیء image اصطلاحا drawable نیست. باید یه شیء bitmap تعریف کنی که دسترسی عمومی بهش داشته باشی مثلا بعنوان یک property برای فرمی که picturebox توش هست تعریفش کن و بعد موقعی که میخوای paint کنی باید روی اون bitmap ترسیمات رو انجام بدی و البته برای picturebox هم همینطور. بعد میتونی از outputSurface استفاده کنی و کار save رو انجام بدی. مثل همون image.
كد: |
private Bitmap outputSurface;
public Form1()
{
InitializeComponent();
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Bitmap surface = new Bitmap(this.pictureBox1.Width, this.pictureBox1.Height);
Graphics g = Graphics.FromImage(surface);
e.Graphics.DrawRectangle(new Pen(Color.Black), new Rectangle(10, 10, 40, 40));
g.DrawRectangle(new Pen(Color.Black), new Rectangle(10, 10, 40, 40));
this.outputSurface = surface;
g.Dispose();
surface.Dispose();
}
private void button1_Click(object sender, EventArgs e)
{
this.outputSurface.Save("C:\\test.png", System.Drawing.Imaging.ImageFormat.Png);
} |
البته خوبی اینکار اینه که میتونی دیگه اصلا به رویداد paint کاری نداشته باشی و کلا اون قسمتی که روی bitmap داره ترسیم میکنه رو ببری تو یه متد به اسم render و در آخر کار زمانی که داری this.outputSurface = surface میکنی رو ورداری و بجاش بنویسی pictureBox1.Image = surface. اینطوری از همون image میتونی استفاده کنی و save کنی. |
_________________ I have a dream that little children will one day live in a nation where they will not be judged by the color of their skin but by the content of their character. I have a dream today
هیچ راه فراری نیست!
http://www.dreamfactory.ir |
|
بازگشت به بالا |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
صفحه 2 از 3 |
تمام ساعات و تاريخها بر حسب 3.5+ ساعت گرينويچ مي باشد برو به صفحه قبلي 1, 2, 3 بعدي
|
|
شما نمي توانيد در اين انجمن نامه ارسال كنيد. شما نمي توانيد به موضوعات اين انجمن پاسخ دهيد شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن ويرايش كنيد شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن حذف كنيد شما نمي توانيد در نظر سنجي هاي اين انجمن شركت كنيد
|
|
|