SALVAR PICTURE NAO FUNCIONA COM FUNCAO VBSRCAND
Tenho uma picture preenchida com imagem transparente através do seguinte código:
Picture1.PaintPicture Picture2.Picture, 0, 0, , , , , , , vbSrcAnd
Entretanto, a função savepicture só salva a imagem principal sobre a Picture1 e não salva a Picture2 carregada sobre ela.
A função savepicture utilizada está assim:
SavePicture Picture1.Image, [Ô]C: este.jpeg[Ô]
Cheguei a tentar o código descrito em : http://www.vb-helper.com/howto_compose_pictures.html mas também não funcionou.
Alguém pode ajudar?
Grato
Gardel
Picture1.PaintPicture Picture2.Picture, 0, 0, , , , , , , vbSrcAnd
Entretanto, a função savepicture só salva a imagem principal sobre a Picture1 e não salva a Picture2 carregada sobre ela.
A função savepicture utilizada está assim:
SavePicture Picture1.Image, [Ô]C: este.jpeg[Ô]
Cheguei a tentar o código descrito em : http://www.vb-helper.com/howto_compose_pictures.html mas também não funcionou.
Alguém pode ajudar?
Grato
Gardel
E aà pessoal, alguma ajuda?
Dá uma olhada no link abaixo, pode ser uma alternativa para seu código:
http://interbios.queroumforum.com/viewtopic.php?t=295
http://interbios.queroumforum.com/viewtopic.php?t=295
Parece-me o caminho (longo...). Vou avaliar e retorno
Wcosta,
Encontrei as respostas. O exemplo serviu.
Para salvar pictures carregadas com a função vbrsand (transparencia) só a savepicture não resolve.
Para solução fica assim:
[ô]Módulo:
Public Declare Function BitBlt Lib [Ô]GDI32[Ô] (ByVal hDCDest As Long, ByVal XDest As Long, ByVal YDest As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hDCSrc As Long, ByVal XSrc As Long, ByVal YSrc As Long, ByVal dwRop As Long) As Long
Public Sub MaskBitBlt(Bck As Control, Pic As Control, Mask As Control, X As Double, Y As Double)
[ô]**************************************************************************
[ô]MASKED BITBLT
[ô]**************************************************************************
BitBlt Bck.hDC, X, Y, Pic.ScaleWidth, Pic.ScaleHeight, Pic.hDC, 0, 0, vbSrcAnd
End Sub
[ô]No Form:
[ô]Passo 1: carregar imagem na picture
Private Sub Command5_Click()
Picture1.PaintPicture Picture3.Picture, 0, 0, , , , , , , vbSrcAnd
End Sub
[ô]Passo 2: Carregando a picture que será salva
Private Sub Command4_Click()
[ô]to actually show the user the ending result
preview2.Cls
MaskBitBlt preview2, Picture1, preview, 0, 0
End Sub
Passo 3: salvando a imagem
Private Sub Command3_Click()
[ô]easy saving
SavePicture preview2.Image, [Ô]C:\IMAGEE.JPEG[Ô]
MsgBox [Ô]Salvo[Ô]
End Sub
Obrigado
Gardel
Encontrei as respostas. O exemplo serviu.
Para salvar pictures carregadas com a função vbrsand (transparencia) só a savepicture não resolve.
Para solução fica assim:
[ô]Módulo:
Public Declare Function BitBlt Lib [Ô]GDI32[Ô] (ByVal hDCDest As Long, ByVal XDest As Long, ByVal YDest As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hDCSrc As Long, ByVal XSrc As Long, ByVal YSrc As Long, ByVal dwRop As Long) As Long
Public Sub MaskBitBlt(Bck As Control, Pic As Control, Mask As Control, X As Double, Y As Double)
[ô]**************************************************************************
[ô]MASKED BITBLT
[ô]**************************************************************************
BitBlt Bck.hDC, X, Y, Pic.ScaleWidth, Pic.ScaleHeight, Pic.hDC, 0, 0, vbSrcAnd
End Sub
[ô]No Form:
[ô]Passo 1: carregar imagem na picture
Private Sub Command5_Click()
Picture1.PaintPicture Picture3.Picture, 0, 0, , , , , , , vbSrcAnd
End Sub
[ô]Passo 2: Carregando a picture que será salva
Private Sub Command4_Click()
[ô]to actually show the user the ending result
preview2.Cls
MaskBitBlt preview2, Picture1, preview, 0, 0
End Sub
Passo 3: salvando a imagem
Private Sub Command3_Click()
[ô]easy saving
SavePicture preview2.Image, [Ô]C:\IMAGEE.JPEG[Ô]
MsgBox [Ô]Salvo[Ô]
End Sub
Obrigado
Gardel
Tópico encerrado , respostas não são mais permitidas