PDA

View Full Version : سوال: کادر دور عکس



fakhravari
پنج شنبه 10 مهر 1393, 22:20 عصر
با سلام
دوستان یه عکس در بانک اطلاعاتی داریم فرمت باینری
چطوری میتونیم یه قاب دور عکس بندازیم:متفکر:

plus
پنج شنبه 10 مهر 1393, 22:27 عصر
متوجه نشدم کجای کار ابهام دارین.
تصویر رو به صورت باینری از دیتابیس میخونید.
آرایه ای از بایت رو به یک شی Image تبدیلش میکنید.
با استفاده کلاس Graphics، و متدهای مثل DrawRectangle، FillRectangle و... قاب مورد نظر را رسم کنید.
اگه لازمه که تصویر دوباره توی دیتابیس ذخیره بشه، شی Image رو به آرایه بایت تبدیل و در دیتابیس ذخیره کنید.

khokhan
پنج شنبه 10 مهر 1393, 22:52 عصر
با سلام
دوستان یه عکس در بانک اطلاعاتی داریم فرمت باینری
چطوری میتونیم یه قاب دور عکس بندازیم:متفکر:

................


Bitmap bitmap = new Bitmap(@"d:\Test.jpg");
using (Graphics g = Graphics.FromImage(bitmap))
{
g.DrawRectangle(new Pen(Brushes.Red, 5), new Rectangle(0, 0, bitmap.Width, bitmap.Height));
}

pictureBox2.Image = bitmap;

fakhravari
جمعه 11 مهر 1393, 02:06 صبح
اگه بخوام گردش کنم چی کنم!

khokhan
جمعه 11 مهر 1393, 19:24 عصر
اگه بخوام گردش کنم چی کنم!

یه کلاس سفارشی برای قاب عکسی به شکل دایره درست کن وهمون کار قبلی رو با این کلاس خود ساخته انجام بده

کد کلاس قاب عکس سفارشی به شکل گرد :


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;

namespace WindowsFormsApplication1
{
public class OvalPictureBox : PictureBox
{
public OvalPictureBox()
{
this.BackColor = Color.DarkGray;
}
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
using (var gp = new GraphicsPath())
{
gp.AddEllipse(new Rectangle(0, 0, this.Width - 1, this.Height - 1));
this.Region = new Region(gp);
}
}
}
}

ودر رویداد paint قاب عکس، این کد رو قرار می دی :


private void ovalPictureBox1_Paint(object sender, PaintEventArgs e)
{
new Point(ovalPictureBox1.Size.Width, ovalPictureBox1.Size.Height);

e.Graphics.DrawEllipse(
new Pen(Color.Blue, 20f),
0, 0, ovalPictureBox1.Size.Width, ovalPictureBox1.Size.Height);
}

124174