PDA

View Full Version : تبدیل شکل ترسیم شده PictureBox به فایل



Morteza Manafpour
جمعه 15 مهر 1384, 11:18 صبح
با سلام خدمت دوستان عزیز
کد برنامه به شکل زیر می‌باشد.
Dim Pix(1 To 70, 1 To 70) As Long
Dim x As Integer, y As Integer
Dim bRed As Integer, bGreen As Integer, bBlue As Integer, bAverage As Integer

For x = 1 To 70
For y = 1 To 70
Pix(x, y) = PicGray.Point(x, y)
Next y
Next x


For x = 1 To 70
For y = 1 To 70
bRed = Pix(x, y) Mod &H100
bGreen = (Pix(x, y) \ &H100) Mod &H100
bBlue = Pix(x, y) \ &H10000
bAverage = (bRed + bGreen + bBlue) / 3
PicColor.PSet (x, y), bAverage
Next y
Next x


Picture1.Picture = PicColor.Picture

چون PicColor یک تصویر ترسیمی است نمی تونم اونو به Picture1 یا یک فایل ارجاع بدم
اگه از دوستان راه‌حلی بلدن کمک کنن

PalizeSoftware
جمعه 15 مهر 1384, 13:14 عصر
سلام
دوست عزیز چیزی که شما رسم می‌کنید در قالب شیئ image قرار می‌گیره و باید اینطوری استفاده کنی:


Picture1.Picture = PicColor.Image

Morteza Manafpour
جمعه 15 مهر 1384, 14:51 عصر
مرسی دوست عزیز
اتفاقا یه بار این کد رو نوشتم جواب نداد ولی عجیب اینه که دوباره امتحان کردم جواب داد
به هر حال ممنون از لطفتون مشکل حل شد.

PalizeSoftware
جمعه 15 مهر 1384, 16:08 عصر
راستی اگه هدف شما تبدیل به تصاویر GrayScale هست این کد رو استفاده کنید


Private Sub Command1_Click()
Dim Pix(1 To 70, 1 To 70) As Long
Dim x As Integer, y As Integer
Dim bRed As Integer, bGreen As Integer, bBlue As Integer, bAverage As Long
Dim bGray As Integer

For x = 1 To 70
For y = 1 To 70
Pix(x, y) = PicGray.Point(x, y)
Next y
Next x

For x = 1 To 70
For y = 1 To 70
bRed = Pix(x, y) Mod &H100
bGreen = (Pix(x, y) \ &H100) Mod &H100
bBlue = Pix(x, y) \ &H10000

bGray = bRed * 0.3 + bGreen * 0.59 + bBlue * 0.11
bAverage = RGB(bGray, bGray, bGray)
'bAverage = (bRed + bGreen + bBlue) / 3
PicColor.PSet (x, y), bAverage
Next y
Next x



Picture1.Picture = PicColor.Image
End Sub