MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Picturebox sem fundo!

2 participantes

Ir para baixo

Picturebox sem fundo! Empty Picturebox sem fundo!

Mensagem por Darkpeople196 Dom 20 Fev 2011, 07:45

bom primeiramente achei na net obvio e vou postar aqui. vamos lá!

Isso demonstra simplesmente como desenhar um bitmap / gif usando uma máscara de cor (como RGB (255,0,255)) como a cor transparente e colocá-lo em cima de outra imagem (ou forma DC).

vamos ver coloque isso na form que você esta trabalhando.

Código:

Option Explicit
'Demonstra a trasnparencia de Gif/BMP
'em cima da outra imagem utilizando o contexto de dispositivo (DC) e
'TransparentBlt API

Private Type BITMAP
  bmType As Long
  bmWidth As Long
  bmHeight As Long
  bmWidthBytes As Long
  bmPlanes As Integer
  bmBitsPixel As Integer
  bmBits As Long
End Type

'desenho API
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function TransparentBlt Lib "msimg32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal crTransparent As Long) As Boolean

Private Sub Form_Resize()
    Me.Cls
    Dim lWidth As Long
    Dim lHeight As Long
    lWidth = (Me.ScaleWidth / 2) - (Me.Picture1.ScaleWidth / 2)
    lHeight = Me.ScaleHeight / 2 - (Me.Picture1.ScaleHeight / 2)
    'aqui você vai Mudar o de acordo aonde tua img estiver
    DrawTransPicture Me.Picture1.Picture, lWidth / 15, lHeight / 15, RGB(255, 0, 255)
End Sub

Private Sub DrawTransPicture(img As StdPicture, ImageX As Long, ImageY As Long, ImgTransColour As Long)
    Dim hbmDc As Long
    Dim hBmp As Long
    Dim hBmpOld As Long
    Dim bmp As BITMAP
    'Se a imagem é um bitmap ...
    If img.Type = vbPicTypeBitmap Then
        hBmp = img.Handle
        'criar um contexto de dispositivo de memória
        hbmDc = CreateCompatibleDC(0&)
        If hbmDc <> 0 Then
            'selecione o bitmap no contexto
            hBmpOld = SelectObject(hbmDc, hBmp)
            'obter informações para a
            'objeto gráfico especificado
            If GetObject(hBmp, Len(bmp), bmp) <> 0 Then
            'desenhar o bitmap com a
            'cor de transparência especificada
                Call TransparentBlt(Me.hdc, ImageX, ImageY, bmp.bmWidth, bmp.bmHeight, hbmDc, 0, 0, bmp.bmWidth, bmp.bmHeight, ImgTransColour)
            End If  'GetObject
            Call SelectObject(hbmDc, hBmpOld)
            DeleteObject hBmpOld
            DeleteDC hbmDc
        End If  'hbmDc
    ElseIf img.Type = vbPicTypeIcon Then
        'Se a imagem é um ícone
        Call Me.PaintPicture(img, ImageX, ImageY)
    End If
End Sub

e pronto! para você quiser mudar o nome da img que você vai usar so mudar aqui

Código:

    'aqui você vai Mudar o de acordo aonde tua img estiver
    DrawTransPicture Me.Picture1.Picture, lWidth / 15, lHeight / 15, RGB(255, 0, 255)

ss:
Picturebox sem fundo! Image1co
Picturebox sem fundo! Image2xl

Aqui postarei como que fiz o meu!

Link ; http://www.megaupload.com/?d=X5OWME9A

bom creditos vamos lá

Criador: Jason Newland
Postar: Darkpeople196 (eu)
Darkpeople196
Darkpeople196
Membro Vitalicio
Membro Vitalicio

Mensagens : 612

Ir para o topo Ir para baixo

Picturebox sem fundo! Empty Re: Picturebox sem fundo!

Mensagem por Valentine Dom 20 Fev 2011, 09:21

Cara muito bom, obrigado por postar
+ 1 crédito

Edit: Eu devo ter feito algo errado, eu copiei tudo direitinho pra frmMain mais deu esse erro
Picturebox sem fundo! Bugqj
avatar
Valentine
Membro de Honra
Membro de Honra

Mensagens : 472

http://www.aldeiarpgbr.com

Ir para o topo Ir para baixo

Picturebox sem fundo! Empty Re: Picturebox sem fundo!

Mensagem por Darkpeople196 Dom 20 Fev 2011, 10:22

oxxi aqui funfo certinho tu baixo oque eu postei?
Darkpeople196
Darkpeople196
Membro Vitalicio
Membro Vitalicio

Mensagens : 612

Ir para o topo Ir para baixo

Picturebox sem fundo! Empty Re: Picturebox sem fundo!

Mensagem por Valentine Dom 20 Fev 2011, 10:51

Sim, funciona normal quando eu crio um projeto novo no vb, mais quando eu tendo botar no eclipse origins na frmMain ai da esse erro
avatar
Valentine
Membro de Honra
Membro de Honra

Mensagens : 472

http://www.aldeiarpgbr.com

Ir para o topo Ir para baixo

Picturebox sem fundo! Empty Re: Picturebox sem fundo!

Mensagem por Darkpeople196 Dom 20 Fev 2011, 14:23

vou fazer o seguinte é que eu nao tentei usar-lo em engine depois eu tento se funfar eu posto
Darkpeople196
Darkpeople196
Membro Vitalicio
Membro Vitalicio

Mensagens : 612

Ir para o topo Ir para baixo

Picturebox sem fundo! Empty Re: Picturebox sem fundo!

Mensagem por Valentine Ter 22 Fev 2011, 14:45

Ok, vlw

eu criei esse tutorial
http://www.mmorpgbr.com/t4966-eocolocando-grafico-do-personagem-no-menu

e eu queria que pelo menos pudesse tirar essa cor de fundo da imagem(O Rosa)
avatar
Valentine
Membro de Honra
Membro de Honra

Mensagens : 472

http://www.aldeiarpgbr.com

Ir para o topo Ir para baixo

Picturebox sem fundo! Empty Re: Picturebox sem fundo!

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos