Function CreateGPBitmapFromHBitmap(ByVal hBmp As HBITMAP) As Any Ptr
Создает Bitmap (в Windows Gdi+ Bitmap , в Linux PixBuf Bitmap) из обычного bitmap (Hbitmap)
hBmp - хендл битмапа
Windows , Linux
#Include "window9.bi"
Var HBitmap=Create_Image(300,300)'создаем обычный битмап
ImageStartDraw(HBitmap) 'начинаем рисование
TextDraw(30,50,"FreeBasic The Best",,&hff)
StopDraw ' заканчиваем рисование
Var MainGpBitmap=Create_ImageA(300,300)'создаем прозрачный битмап
Var GpBitmap=CreateGpBitmapFromHBitmap(HBitmap)'создаем GDI+ битмап из Hbitmap
ImageStartDrawA(MainGpBitmap) 'начинаем рисование с помощью GDI+
ImageDrawA(GpBitmap,0,0) ' рисуем наш непрозрачный битмап
For y As Integer=0 To 300 ' далее в циклах заменяем все непрозрачные
For x As Integer=0 To 300 'пикселы прозрачными
If GetPixA(x,y)=&hff000000 Then
SetPixA(x,y,&h00000000)
EndIf
Next
Next
StopDrawA ' заканчиваем рисование
Save_image(HBitmap,"1.png") ' сохраняем непрозрачный битмап
Save_imageA(MainGpBitmap,"2.png") ' сохраняем прозрачный битмап
FreeGpBitmap(GpBitmap):Free_Image(hbitmap):FreeGpBitmap(MainGpBitmap)
Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator