подзатупил я малость((
удаляю вопрос. ответ простой - накладывать маску, чтобы задать нужную форму картинке, нужно примерно так:
UsePNGImageDecoder()
UsePNGImageEncoder()
UseJPEGImageDecoder()
Procedure RoundCorners(Image)
If IsImage(Image)
Protected w = ImageWidth(Image)
Protected h = ImageHeight(Image)
Protected imgMask = CatchImage(#PB_Any, ?maskData, ?maskEnd - ?maskData)
If StartDrawing(ImageOutput(imgMask))
DrawingMode(#PB_2DDrawing_AlphaClip)
RoundBox(0, 0, w, h, w / 5, h / 5, RGBA(0, 0, 0, 255))
DrawingMode(#PB_2DDrawing_AlphaClip)
DrawImage(ImageID(Image), 0, 0)
StopDrawing()
ProcedureReturn imgMask
EndIf
EndIf
EndProcedure
Global fn.s = OpenFileRequester("LoadImage", "", "Png and Jpg images|*.png;*.jpg|Png images|*.png|Jpg images|*.jpg", 0)
imgPhoto = LoadImage(#PB_Any, fn)
imgR = RoundCorners(imgPhoto)
fn = SaveFileRequester("SaveImage", fn, "All files|*.*", 0)
If fn
SaveImage(imgR, fn, #PB_ImagePlugin_PNG)
FreeImage(imgPhoto)
FreeImage(imgR)
EndIf
DataSection
maskData:
IncludeBinary "mask.png"
maskEnd:
EndDataSection
на всякий случай: картинки для тестов использовал эти:
жаль, не выходит нарисовать маску с помощью RoundBox. не рисуется, гадина(((