امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
روشن کردن پیکسل در PictureBox
نویسنده پیام
toopdanlod آفلاین
در حال پیشرفت
***

ارسال‌ها: 257
موضوع‌ها: 65
تاریخ عضویت: خرداد ۱۳۸۸

تشکرها : 59
( 135 تشکر در 73 ارسال )
ارسال: #12
RE: روشن کردن پیکسل در PictureBox
ممنون دوست عزیز. خیلی مفید بود. اما من اول هم از همین FillEllipse استفاده کردم، اما برای فراخوانی Picturebox1_paint با مشکل برخوردم
توی پست اولم گفته بودم،

کد:
Addhander Picturebox1.Paint, AddressOf PictureBox1_Paint

با این Picturebox_paint رو فراخوانی می کنم اما کارو انجام نمیده

۲۴-مهر-۱۳۸۹, ۲۱:۲۱:۰۴
وب سایت ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #13
RE: روشن کردن پیکسل در PictureBox
میشه دقیقتر توضیح بدید. منظورتونو نمیفهمم.

میزان رای دشمن است!
[تصویر:  cff100.png]
۲۴-مهر-۱۳۸۹, ۲۳:۲۵:۱۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : salehjg, toopdanlod
toopdanlod آفلاین
در حال پیشرفت
***

ارسال‌ها: 257
موضوع‌ها: 65
تاریخ عضویت: خرداد ۱۳۸۸

تشکرها : 59
( 135 تشکر در 73 ارسال )
ارسال: #14
RE: روشن کردن پیکسل در PictureBox
ببینید، من برای رسم خطوط و دایره از این کد استفاده کردم.

کد:
Private Sub PicEdit_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PicEdit.Paint

        If Manualy = False And Automatic = True Then
            With e.Graphics
                Using redBrush As New SolidBrush(Color.PaleGreen)
                    Using TPen As New System.Drawing.Pen(Color.PaleGreen, 1)
                        Dim rect As New Rectangle(x1, y1, xyWidth, xyHeight)
                        TPen.Width = My.Computer.Registry.GetValue(StrRegistry, "Size", Nothing)
                        .DrawEllipse(TPen, x1, y1, xyWidth, xyHeight)
                        .FillEllipse(redBrush, rect)
                        '.DrawLine(TPen, x2, y2, x3, y3)
                    End Using
                End Using
            End With
            strResult = "Auto"
        ElseIf Manualy = True And Automatic = False Then
            With e.Graphics
                Using redBrush As New SolidBrush(Color.Red)
                    Dim rect As New Rectangle(x1, y1, xyWidth, xyHeight)
                    .DrawEllipse(Pens.Red, x1, y1, xyWidth, xyHeight)
                    .FillEllipse(redBrush, rect)
                End Using
            End With
            strResult = "Manual"
        End If
    End Sub

و برای اینکه این کد رو اجرا کنم از این کد استفاده کردم

کد:
Addhander PicEdit.Paint, AddressOf PicEdit_Paint

اما این کد عمل نمکنه و خطوط و دایره رو رسم نمیکنه. البته اگه توی button بذارم و یک مقدار بهش بدم عمل میکنه. اما توی برنامه ای که من نوشتم حداقل 100 دایره باید نمایش بده و بین این دایره ها خطوط بکشه.
حالا من نمیدونم مشکل از کجاست

من کد دومی رو توی یه حلقه for گذاشتم که هر نقطه ای که موقعیتش بدست میاد و نمایش بده، اما این کد اجرا نمیشه و به مرحله بعد میره و یه موقعیت دیگه رو بدست میاره

۲۵-مهر-۱۳۸۹, ۱۱:۰۱:۲۰
وب سایت ارسال‌ها
پاسخ
toopdanlod آفلاین
در حال پیشرفت
***

ارسال‌ها: 257
موضوع‌ها: 65
تاریخ عضویت: خرداد ۱۳۸۸

تشکرها : 59
( 135 تشکر در 73 ارسال )
ارسال: #15
RE: روشن کردن پیکسل در PictureBox
شاید اگه انطوری بگم بهتر باشه. این عکس زیر رو ببینید
[تصویر:  eb75586b9dbee4be09bdbcec0de9a6ad.jpg]

من میخوام که این کارو انجام بدم
اون خط قرمزی که کشیدم

۲۵-مهر-۱۳۸۹, ۱۸:۲۳:۴۷
وب سایت ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #16
RE: روشن کردن پیکسل در PictureBox
شرمنده نرسیدم جواب بدم.

این دستور
کد:
Addhander PicEdit.Paint, AddressOf PicEdit_Paint
میاد یه تابع رو به یه رویداد تخصیص میده. و این دستور کافیه که یک بار اجرا بشه.
بعد از اون با اجرای رویداد اون تابع فراخوانی میشه.

حالا از اینا که بگذریم من نمیدونم چطوری میخواید خط رو بکشید.
-رویداد paint در هر بار کشیده شدن کنترل اجرا میشه. یعنی وقتی یک تکه از اون بره زیر یه چیز دیگه یا از زیرش در بیاد یا refresh بشه. با این رویداد غیر از استفاده از refresh کنترلی روی زمان کشیده شدن ندارید و هر وقت درخواست کشیده شدن داده شد میتونید چیزی رو نشون بدید. ضمن این که هر بار باید کامل باید از اول همه چیز رو بکشید.
-اگه شما بر اثر یه رویداد دیگه یه خط رو میکشید و هر بار فقط یه خط رو به خطوط قبلی اضافه میکنید. بهتره ( به جای استفاده از رویداد paint ) یه شیئ bitmap درست کنید و روی اون نقاشی کنید و اونو نمایش بدید.

میزان رای دشمن است!
[تصویر:  cff100.png]
۲۸-مهر-۱۳۸۹, ۱۸:۱۲:۰۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : toopdanlod


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  راهنمایی در مورد PictureBox toopdanlod 2 2,634 ۲۳-اسفند-۱۳۸۸, ۲۰:۲۶:۲۶
آخرین ارسال: toopdanlod
Cool attach کردن و DeAttach کردن دیتا بیس sav68 1 4,711 ۲۶-بهمن-۱۳۸۷, ۰۲:۴۹:۴۱
آخرین ارسال: arashrj

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS