Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Картинки штоп их так и растак!!!! Добавлено: 07.09.09 19:42  

Автор вопроса:  UnDeAdZak
Я пишу код для переборки картинки по пикселям, и деланья их прозрачными.
  
 Private Sub GenKubCol()
        Dim X As Long
        Dim Y As Long
        Kub1 = New Bitmap(600, 600)
        Dim G1 As Graphics
        G1 = System.Drawing.Graphics.FromImage(Kub1)
        G1.Clear(Color.FromArgb(Col))
        Kub1.MakeTransparent(Color.Pink)
        If bI(1) = "Заливка" Then
    For X = Me.Height / 2 - 300 To Me.Height /2 + 274
    For Y = Me.Width / 2 - 300 To Me.Width / 2 - 326
    ColorPix = Kub1.GetPixel(X, Y)
Kub1.SetPixel(X, Y, Color.FromArgb(100,_ ColorPix.R,ColorPix.G, ColorPix.B))
    Next
    Next
        End If
end sub

но при проверке у всех пикселей значение Alpha = 255. И никак((.

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #1 Добавлено: 07.09.09 22:59
Видимо переход на дотнэт не делает тебя джедаем. :-D

Ответить

Номер ответа: 2
Автор ответа:
 Skywalker



ICQ: 300-70-6пятьЪ 

Вопросов: 62
Ответов: 545
 Web-сайт: iSkywalker.ru
 Профиль | | #2
Добавлено: 07.09.09 23:02
нужна указать формат пикселей битмапа, по умолчанию там тока r,g,b и альфы нету
  1. Dim bitmap As New Bitmap(100, 100, Imaging.PixelFormat.Format32bppArgb)
  2.         Using g As Graphics = Graphics.FromImage(bitmap)
  3.             g.Clear(Color.Red)
  4.         End Using
  5.         For i As Integer = 0 To bitmap.Width - 1
  6.             For j As Integer = 0 To bitmap.Height - 1
  7.                 Dim col As Color = bitmap.GetPixel(i, j)
  8.                 If col.R = 255 And col.G = 0 And col.B = 0 Then
  9.                     bitmap.SetPixel(i, j, Color.FromArgb(50, col))
  10.                 End If
  11.             Next
  12.         Next

Ответить

Номер ответа: 3
Автор ответа:
 Skywalker



ICQ: 300-70-6пятьЪ 

Вопросов: 62
Ответов: 545
 Web-сайт: iSkywalker.ru
 Профиль | | #3
Добавлено: 07.09.09 23:07
а во вторых, работать со стандартными getpixel/setpixel не серьезно. это ОЧЕНЬ долго и тормозно. я использую найденный код библиотеки на C# с unsafe кодом, там цвет берется и устанавливается по указателю в памяти, поэтому все быстро делается, но там к сожалению работает только для 24bppRGB формата.

Ответить

Номер ответа: 4
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #4 Добавлено: 08.09.09 00:23
И ещщё вопрос:
Как сделать прозрачным Picturebox на катором эта картинка?

Ответить

Номер ответа: 5
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #5 Добавлено: 08.09.09 01:30
Skywalker:я сделал как ты написал - ничего не изменилось. всё теже 255(((

Ответить

Номер ответа: 6
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #6 Добавлено: 08.09.09 07:49
ничего не изменилось. всё теже 255(((

А как ты это проверяешь? Сохраняешь картинку в bmp или jpeg а потом загружаешь и проверяешь?

Ответить

Номер ответа: 7
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #7 Добавлено: 08.09.09 08:21
Блин! Как минимум я вижу прозрачная картинка или нет! А проверяю я все темже
col=kart.getpixel(10,10)
me.text = col.a
и мне выводит 255, но самое тупое,что все варианты РАБОТАюТ на новом проэкте, а если я импортирую в свой проэкт, то нифига не работает!!!=(
Сегодня, после школы перепишу форму с нуля.=(

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам