چطوری میشه ، متن و عکسی را به یک پیکچر باکس(picturebox) که قبلا در آن عکس دیگری وجود دارد، اضافه کرد.
دقت کنید(اضافه کرد) نه اینکه عکس جدید جایگزین عکس قبلی بشه.
ممنون
چطوری میشه ، متن و عکسی را به یک پیکچر باکس(picturebox) که قبلا در آن عکس دیگری وجود دارد، اضافه کرد.
دقت کنید(اضافه کرد) نه اینکه عکس جدید جایگزین عکس قبلی بشه.
ممنون
من از توابع GDI+ قبلاً این کار رو کرده بودم البته نه عکس بلکه یه متن بود که تو پیکچرباکس رسم میکردم بدون اینکه عکس اول تغییری کنه.
***ویرایش شد (مدیر بخش)***
سلام جناب choobin84
امیدوارم با این برنامه مشکلتون حل بشه . ***ویرایش شد (مدیر بخش)***
آخرین ویرایش به وسیله علیرضا مداح : چهارشنبه 15 خرداد 1387 در 08:57 صبح
رویداد paint بهترین مکان برای رسم هست.
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawImage(Properties.Resources.Aqua_Wor d, new Point(2, 2));
e.Graphics.DrawImage(Properties.Resources.Aqua_Wor d, new Point(250, 2));
e.Graphics.DrawImage(Properties.Resources.Aqua_Wor d, new Point(500, 2));
e.Graphics.DrawString("برنامه نویس", this.Font, new SolidBrush(this.ForeColor), new PointF(750, 300), new StringFormat(StringFormatFlags.DirectionRightToLef t));
}
اما اگر مجبوری جایی غیر از رویداد paint روی pictrurebox نقاشی کنی، مثلا در رویداد کلیک یک دکمه ، کافیه که شی گرافیکی picturebox را بگیری
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.pictureBox1.CreateGraphics();
g.DrawImage(Properties.Resources.Aqua_Word, new Point(2, 2));
g.DrawImage(Properties.Resources.Aqua_Word, new Point(250,2));
g.DrawImage(Properties.Resources.Aqua_Word, new Point(500, 2));
g.DrawString("برنامه نویس",this.Font,new SolidBrush(this.ForeColor),new PointF(750,300),new StringFormat( StringFormatFlags.DirectionRightToLeft));
g.Dispose();
}
نکته : در حالت دوم، با هر تغییر کوچیکی در برنامه ( مثلا فرمی روی فرمت قرار بگیره و ...) تمام نقاشی هات پاک میشه . که الته میشه با تانظیم یک سری خواص اون مشکل را هم بر طرف کرد.. ولی کلا سعی کنید که برای رسم حتی المقدور در رویداد pint اون کنترل باشه ..
نمونه عکس زیر حاصل اجرای هر یک از دو کد بالاست ..
هر w در عکس زیر ، یک عکس جدا هست..
کلمه "برنامه نویس" نیز به صورت نقاشی شده هست ( با DrawString )
موفق باشید
مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084
وب سایت : http://www.mkiani.ir
پست الکترونیک : mkiani3000@gmail.com
موفق و پیروز باشید.
مهدی کیانی
کد زیر عکس های picBox1,picBox2 رو در هم ادغام می کنه. عکس موجود در picBox2 به picBox1 اضافه شد.
Graphics g = Graphics.FromImage(pictureBox1.Image);
g.DrawImage(pictureBox1.ControlImage, new Point(70, 190));
g.DrawString(label1.Text,label1.Font,Brushes.Black ,500,180);
g.Dispose();
pictureBox1.Image.Save("output.jpg", ImageFormat.Jpeg);
اینجا یک نمونه فایل هست که دو تا عکس رو در هم ادغام می کنه.
منبع:
http://www.codeproject.com/KB/cs/JoinImages.aspx
با سلام
من مي خوام با قلم نوري يا ماوس روي يه پيکچر باکس بنويسم بايد از چه رويدادي استفاده کنم مثال اگه داريد بزاريد ممنون ميشم