Fórum Escrever texto em uma imagem já existente #351153
27/12/2007
0
Pessoal,
Eu estou a procura de uma rotina que carregue uma imagem já existente e se consiga escrever um texto sobre ela. Depois de escrever salvá-la em disco com este texto embutido.
Se não fui claro, por favor, me questionem.
Abraço.
Gonçalves.
Eu estou a procura de uma rotina que carregue uma imagem já existente e se consiga escrever um texto sobre ela. Depois de escrever salvá-la em disco com este texto embutido.
Se não fui claro, por favor, me questionem.
Abraço.
Gonçalves.
Goncalves
Curtir tópico
+ 0
Responder
Posts
27/12/2007
Thiago Vidal
Utilize a função abaixo, acabei de escrevê-la, nào cheguei a testar, mas deve funcionar.
o código é bem auto-explicativo, mas se tiver alguma duvida pode perguntar
o código é bem auto-explicativo, mas se tiver alguma duvida pode perguntar
uses JPeg; procedure EscreveTexto(Arquivo: TFileName; X, Y: Integer; Texto: string); var bmp: TBitmap; jpg: TJPegImage; ext: string; IsJpeg: Boolean; begin bmp := TBitmap.Create; jpg := TJpegImage.Create; try ext := LowerCase(ExtractFileExt(Arquivo)); if (ext = ´.jpg´) or (ext = ´.jpeg´) then begin jpg.LoadFromFile(Arquivo); bmp.Assign(jpg); IsJpeg := True; end else if (ext = ´.bmp´) then begin bmp.LoadFromFile(Arquivo); IsJpeg := False; end else raise Exception.Create(´Tipo de arquivo desconhecido: ´ + ext); with bmp.Canvas do begin Font.Name := ´Arial´; Font.Size := 14; Font.Style := [fsBold]; TextOut(X, Y, Texto); end; if IsJpeg then begin jpg.Assign(bmp); jpg.SaveToFile(Arquivo); end else bmp.SaveToFile(Arquivo); finally jpg.Free; bmp.Free; end; end;
Responder
Gostei + 0
28/12/2007
Goncalves
Muito obrigado pela ajuda.
Abraços
Eduardo.
Abraços
Eduardo.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)