arash020
یک شنبه 16 مهر 1391, 06:05 صبح
سلام
برنامه تبدیل عکس به متن گرافیکی به عنوان زنگ تفریح یا بازی با VS
کنترل های مورد نیاز به کار رفته در سورس برنامه تبدیل عکس به متن گرافیکی :
دوعدد picturebox به نام های:
pic و pic2
یک textbox به نام te
خاصیت multiline true
در ابتدای برنامه
Imports System.IO را بنویسید تا برنامه توانایی ذخیره متن بدست آمده را داشته باشد .
کد زیر را در رویداد کلیک کردن یک دکمه بنویسید و برنامه را اجرا کرده
روی دکمه کلیک کنید و نتیجه را ببینید.
توجه,توجه,توجه:::
حتما باید تصویری که داخل picturebox به نام pic قرار میدهید
یک عکس به ابعاد 50 در 50 پیکسل و کاملا سیاه و سفید باشد
وگرنه باید سورس رو هم تغییر بدید و به اندازه عکس دربیارید
توجه کنید که هرچه اندازه رو بیشتر کنید برنامه زمان بیشتری رو برای انجام عملیات پردازش نیاز داره و برنامه کندتر میشه...
(هنگام طراحی ظاهر برنامه این تصویر را از قبل آماده کرده و کنترل عکس اختصاص دهید .)
برنامه متن بدست آمده را در مسیر
"c:\Eagle computer - Arash020.txt"
ذخیره میکند .
سوالی اگه دارید در قسمت نظر خواهی بپرسید و بعد از 24 ساعت جواب سوالتان را همانجا مشاهده کنید .
سورس:
Dim i, j As Integer
Dim bim As New Bitmap(50, 50)
Dim bim2 As New Bitmap(70, 70)
Dim colo As Color
bim = Pic.Image
For i = 0 To 49
For j = 0 To 49
colo = bim.GetPixel(j, i)
Te.Text = Te.Text & " "
If colo = Color.FromArgb(0, 0, 0) Then
'========
If i > 2 And j > 2 Then
bim2.SetPixel(j, i, colo)
bim2.SetPixel(j + 1, i + 1, colo)
bim2.SetPixel(j - 1, i - 1, colo)
bim2.SetPixel(j + 1, i, colo)
bim2.SetPixel(j, i + 1, colo)
bim2.SetPixel(j - 1, i, colo)
bim2.SetPixel(j, i - 1, colo)
bim2.SetPixel(j - 1, i + 1, colo)
bim2.SetPixel(j + 1, i - 1, colo)
End If
'----------
Te.Text = Te.Text & "//"
End If
Next
Te.Text = Te.Text & vbCrLf
Next
Pic2.Image = bim2
Using ts As New StreamWriter("c:\Eagle computer - Arash020.txt")
ts.Write(Te.Text)
End Using
خـــوش بـــگـــذره...
http://eaglevb.blogfa.com/
برنامه تبدیل عکس به متن گرافیکی به عنوان زنگ تفریح یا بازی با VS
کنترل های مورد نیاز به کار رفته در سورس برنامه تبدیل عکس به متن گرافیکی :
دوعدد picturebox به نام های:
pic و pic2
یک textbox به نام te
خاصیت multiline true
در ابتدای برنامه
Imports System.IO را بنویسید تا برنامه توانایی ذخیره متن بدست آمده را داشته باشد .
کد زیر را در رویداد کلیک کردن یک دکمه بنویسید و برنامه را اجرا کرده
روی دکمه کلیک کنید و نتیجه را ببینید.
توجه,توجه,توجه:::
حتما باید تصویری که داخل picturebox به نام pic قرار میدهید
یک عکس به ابعاد 50 در 50 پیکسل و کاملا سیاه و سفید باشد
وگرنه باید سورس رو هم تغییر بدید و به اندازه عکس دربیارید
توجه کنید که هرچه اندازه رو بیشتر کنید برنامه زمان بیشتری رو برای انجام عملیات پردازش نیاز داره و برنامه کندتر میشه...
(هنگام طراحی ظاهر برنامه این تصویر را از قبل آماده کرده و کنترل عکس اختصاص دهید .)
برنامه متن بدست آمده را در مسیر
"c:\Eagle computer - Arash020.txt"
ذخیره میکند .
سوالی اگه دارید در قسمت نظر خواهی بپرسید و بعد از 24 ساعت جواب سوالتان را همانجا مشاهده کنید .
سورس:
Dim i, j As Integer
Dim bim As New Bitmap(50, 50)
Dim bim2 As New Bitmap(70, 70)
Dim colo As Color
bim = Pic.Image
For i = 0 To 49
For j = 0 To 49
colo = bim.GetPixel(j, i)
Te.Text = Te.Text & " "
If colo = Color.FromArgb(0, 0, 0) Then
'========
If i > 2 And j > 2 Then
bim2.SetPixel(j, i, colo)
bim2.SetPixel(j + 1, i + 1, colo)
bim2.SetPixel(j - 1, i - 1, colo)
bim2.SetPixel(j + 1, i, colo)
bim2.SetPixel(j, i + 1, colo)
bim2.SetPixel(j - 1, i, colo)
bim2.SetPixel(j, i - 1, colo)
bim2.SetPixel(j - 1, i + 1, colo)
bim2.SetPixel(j + 1, i - 1, colo)
End If
'----------
Te.Text = Te.Text & "//"
End If
Next
Te.Text = Te.Text & vbCrLf
Next
Pic2.Image = bim2
Using ts As New StreamWriter("c:\Eagle computer - Arash020.txt")
ts.Write(Te.Text)
End Using
خـــوش بـــگـــذره...
http://eaglevb.blogfa.com/