VISUAL BASIC te resim işleme

Başlatan EMG81, 23 Nisan 2010, 18:05:14

EMG81

Arkadaşlar visual basic tabanlı bir proje yapmalıyım. Pek basic bilgim yok bu yüzden bu konuda uzman arkadaşlardan yardım istiyorum... Belli başlı şeyleri yapabiliyorum Fakat Yapamamdıklarım:

1- commondialog ile bir resim alıcam(herhangi bi boyutta olabilir.) ve bu resimi belirlediğim oranlarda pixel e düşürücem. Mesela 1024X768 lik bi resmi 128X64 e gibi.

2- Gif işlemem gerekli... Yani gif i oynatmam istediğim zaman durdurmam v.s

3. resmi 7 renk yapmalıyım.
Siyah
kırmızı
mavi
yeşil
cyan
magenta
sarı
beyaz


Sorunlarım bunlar...Şimdi den teşekkür ederim..



 

hasangurlek

#1
http://msdn.microsoft.com/en-us/vbasic/bb964686.aspx

VS 2008 RTM örneklerinde hemen her uygulama için başlangıç noktasını gösterir basit kaynak kodlar var. Boyutlandırma için GDIImages, animasyon için GDIAnimation klasörlerine bakabilirsin.

7 renkten kastın işleyeceğin resimlerdeki pixel renklerini en yakın sabit renklere çevirmekse, resim boyutlarında tüm pikselleri tarayacak şekilde iç içe x ve y döngülerinde Bitmap.GetPixel metodu ile pixeli alıp, R, G, B değerlerini test edip hangi renge çevireceksen ayarlayıp, Bitmap.SetPixel metodu ile yeniden yazmalısın. Basitçe şu şekilde;

    Private Sub ChangePixelColor_Example(ByVal e As PaintEventArgs)
        Dim myBitmap As New Bitmap("My.jpg")
        e.Graphics.DrawImage(myBitmap, 0, 0, myBitmap.Width, myBitmap.Height)
        Dim Xcount As Integer
        Dim Ycount As Integer
        Dim BackColor As Color
        Dim NewColor As Color
        For Xcount = 0 To myBitmap.Width - 1
            For Ycount = 0 To myBitmap.Height - 1
                BackColor = myBitmap.GetPixel(Xcount, Ycount)
                If Not BackColor.IsEmpty Then
                    If (BackColor.R > 100 And BackColor.R < 150) AndAlso _
                    (BackColor.G > 100 And BackColor.G < 150) AndAlso _
                    (BackColor.B > 100 And BackColor.B < 150) Then
                        NewColor = Color.Black
                    ElseIf [Diger testler] Then

                    ElseIf [Diger testler] Then

                    ElseIf [Diger testler] Then

                    End If
                    myBitmap.SetPixel(Xcount, Ycount, NewColor)
                End If
            Next Ycount
        Next Xcount
        e.Graphics.DrawImage(myBitmap, myBitmap.Width, 0, myBitmap.Width, myBitmap.Height)
    End Sub


Bitmap Metodları : http://msdn.microsoft.com/en-us/library/dwdz9wf7%28v=VS.100%29.aspx
http://www.cyber-warrior.org, Although they like whiteness, sometimes twilight is required...  Hala evlilermi bilinmez ama kesinlikle artık uygun değiller !!!

EMG81

Çok teşekkür ederim yanıt için. Fakat bu işlemi visual basic 6 ile yapabilirmiyim.? Hatta özellikle gif oynatmayı?. Çünkü gif i herhangi bir resim kutusuna(image ve picturebox) attığımda gif resim gibi kaldı, oynamadı. Oysa ki ben gif i adım adım oynatmak istiyorum. Örneğin; Gif içerisinde 15 adet resim varsa istediğimde durmak sonra devam ettirmek istiyorum. Sevgiler saygılar...

hasangurlek

Niçin .net sürümlerinden birine başlamıyorsunuz ?

Visual Basic Express Edition ücretsiz.

VB6 yı terkedeli çok uzun zaman oldu, nette bu işler için ImageAnimator Class var; http://msdn.microsoft.com/en-us/library/yfb92y9b%28v=VS.100%29.aspx

ayrıca netteki pictureboxlarda gif resimleri animasyonlu olarak gösterebilir.


http://www.cyber-warrior.org, Although they like whiteness, sometimes twilight is required...  Hala evlilermi bilinmez ama kesinlikle artık uygun değiller !!!

muhittin_kaplan

60 ı kullanan kaldı mı acaba. nette bile örnek göremez olduk

orhanc

Bilgi sahibi olmadığın bir dilde böyle bir işlem yapmak yerine önce dili öğrensen daha kolay olmaz mı ? Eğer bu bir ödevse okulda birşeylerin temeli verilmiş olması gerekiyordur herhalde.
i'm doing nothing... Giddy Up  http://www.drorhan.com

EMG81

#6
1. si Basic biliyorum fakat visual basic ile hiç uğraşmamıştım.
2. si "Microsoft Visual Basic 2008 Express Edition" adında bir program indirdim intenetten.VB6 nın marjinal versiyonu gibi geldi bana :D Mavi simgeli. Bahsettiğiniz visual basic sürümü bumudur ?
3. sü buraya yazarken baya umutsuzdum fakat düşünceler ve cevaplar gayet hoş.  :) Şimdiden tekrar tekrar teşekkürler

EMG81

#7
--