SALVAR PICTURE NAO FUNCIONA COM FUNCAO VBSRCAND

GNCNET 19/11/2009 21:32:22
#328207
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
GNCNET 20/11/2009 11:48:29
#328258
E aí pessoal, alguma ajuda?
WCOSTA 20/11/2009 12:08:40
#328262
Resposta escolhida
Dá uma olhada no link abaixo, pode ser uma alternativa para seu código:
http://interbios.queroumforum.com/viewtopic.php?t=295
GNCNET 20/11/2009 18:39:47
#328304
Parece-me o caminho (longo...). Vou avaliar e retorno
GNCNET 20/11/2009 21:21:53
#328316
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
Tópico encerrado , respostas não são mais permitidas