Dobrý den, chtěl bych se zeptat jak vytvořit bitmapu ve WPF. Potřebuji, aby obsahovala alpha kanál. Ve winforms to bylo cekem jednoduché. Tady mám problém. Př.:
Dim rows As Integer = 200
Dim cols As Integer = 200
Dim pxFormat As PixelFormat = PixelFormats.Bgra32
Dim stride As Integer = (cols * pxFormat.BitsPerPixel + 7) / 8
Dim arPixel(rows, cols) As Integer
Dim transparentPixel As Integer = &HFFFFFFFF
For x As Integer = 0 To cols
For y As Integer = 0 To rows
arPixel(x, y) = transparentPixel
Next
Next
Dim b As BitmapImage = BitmapImage.Create(cols, rows, 96, 96, pxFormat, _
Nothing, arPixel, stride)
Dim stream As New FileStream("d:\new.jpg", FileMode.Create)
Dim enc As New JpegBitmapEncoder()
enc.Frames.Add(BitmapFrame.Create(b))
enc.Save(stream)
chyba se vyvolá na BitmapImage.create. Vstupní sestava není správná, parametr Pixels. (Pixels je pole pixelů v př.: arPixels) Asi je špatný rozměr pole, nebo stride. Věděl by někdo kde je chyba ?
|