PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Canvas TextoOut em arquivos PNG #462829

03/12/2013

0

Olá,
Desenvolvi uma pequena função que mescla (combina) imagens do tipo bmp, jpg e png. Para imagens a função está funcionando perfeitamente, indo adiante resolvi inserir texto também nas imagens mescladas. Usei para isso a procedure Canvas.TextOut do bitmap mesclado. Antes de chamar essa procedure defino todos os dados do fonte na propriedade Canvas.Font, inclusive a cor desejada para o texto.
Quando tenho arquivos bmp e jpg mesclados a cor do texto sai exatamente igual a que defini em Canvas.Font.Color, mas quando tenho arquivos png a cor muda, é como se a cor do texto fosse misturada com a cor de fundo da imagem. (Não é bem isso porque testei algumas misturas e não deu o resultado esperado, mas algo está sim interferindo na cor definida para o texto).

Alguém tem idéia do que possa estar acontecendo?

Obrigado desde já.
Jorge.
Jorge Pinto

Jorge Pinto

Responder

Posts

04/12/2013

Jorge Pinto

Olá,
Encontrei a solução deste problema! O que estava acontecendo é que o texto que era escrito sobre o bitmap estava sofrendo o efeito do canal alfa do bitmap, ou seja, estava sofrendo o efeito da transparência aplicada ao bitmap. Dessa forma a cor original que era definida para o texto era alterada para ficar "transparente" o que na prática nada mais é do que uma mudança na própria cor, assim um vermelho se transformava num rosa e assim por diante.
Nada tinha a ver com a imagem que já estava no bitmap como eu suspeitei inicialmente mas sim com o canal alfa do bitmap. Para resolver isso fiz o seguinte antes de usar TextOut para escrever o texto no bitmap:

Bitmap.AlphaFormat:= afIgnored;

Assumindo que Bitmap é uma variável do tipo TBitmap.

Isso fez com que a cor do texto saísse exatamente como foi definida.

Tópico RESOLVIDO.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar