PICTUREBOX CARREGAR 2 IMAGENS.

SIDNEINARDO 15/07/2014 17:17:12
#439563
Ola..

Estou refazendo meu sistema de boleto, e quero colocar ele dentro de um picture box para poder imprimir ou salvar em bmp.

Estou tendo um problema.. carrego uma imagem, o logo do banco por exemplo, .. ai quando vou carregar outra imagem aparentemente ele sobrepõe a primeira.

Tem como eu carregar a 2a. passando uma coordenada para ele?

Tentei passar pelo .currentX e .CurrentY, mas não funcionou.. ele pega sempre no 0,0.

Também adicionei objetos dentro do picturebox.. na tela ficou legal, mas quando salvo ou imprimo, ele não leva as imagens ou os objetos..

Obrigado.

Sidnei Nardo.


NAUTILUZ 15/07/2014 17:57:30
#439565
Não sei se tem alguma ferramenta propia ou dll
mas pode fazer isso usando o Pset, com dois escaneamento separado com o Point,
primeira criar um mapa de pixel da primeira imagem num Picturebox temporário
e depois escaneia a segunda imagem e insere o mapa de pixel com o Pset apartir de um ponto x+altura da ultima orizontal..







SIDNEINARDO 16/07/2014 08:16:18
#439575
Fazer ponto a ponto?? eu tentei, mas fica muito lento... não sei se fiz da maneira correta, mas fiz um for para x e outro para y, pegando de um pict e colocando em outro.. mas fica muito lento mesmo..

obrigado pela dica.

Complementando o topico... Esta rotina está funcionando no Form... imprime legal.. mas se preciso gravar num BMP ele não grava toda a tela.. grava apenas a parte visível... como o boleto é do tamanho de uma folha A4, corta a parte inferior dele, por isto preciso fazer esta alteração.

MARCELO.TREZE 16/07/2014 11:28:11
#439579
Resposta escolhida
Na realidade vc pode fazer isso usando o paintpicture, então faça o seguinte coloque como você já deve ter feito, dois controle image dentro do picture box, posicione-os, e mude a propriedade visible para false, ou seja eles ficarão invisíveis, depois é só pintá-los no picture assim

Picture1.AutoRedraw = True
Picture1.PaintPicture Image1.Picture, Image1.Left, Image1.Top, Image1.Width, Image1.Height
Picture1.PaintPicture Image2.Picture, Image2.Left, Image2.Top, Image2.Width, Image2.Height
Picture1.AutoRedraw = False
Picture1.Picture = Picture1.Image


desta forma vc terá as duas imagens pintadas no picture e estas poderão ser impressas

SIDNEINARDO 16/07/2014 11:53:00
#439581
Deu certo.. Muito obrigado. Me ajudou bastante.
Tópico encerrado , respostas não são mais permitidas