• 0
Sign in to follow this  
schaukoski

Converter Imagem Jpeg, Ou Jpg Para .bmp

Question

Olá, muito boa tarde.

Tenho a seguinte dúvida, creio que possam me ajudar.

Eu tenho uma imagem , em uma variaável do tipo TPicture, e , eu sei a extensão dela.

Como converter tal extensão para .bmp?

exemplo:

bmp CONVERT extensaoatual TO .bmp

aonde extensaoatual, é uma variavel, tipo string, que carrega a extensão dela.

Se alguém puder me ajudar neste sentido, eu agradeço muito!

Obrigado!

Share this post


Link to post
Share on other sites

12 answers to this question

Recommended Posts

  • 0

opa

é só você dar um Assign com uma variavel do

tipo que você quer exemplo

var

_bmp: TBitmap;

begin

_bmp := TBitmap.Create;

_bmp.Assign(SuaVarTPicture);

_bmp.SavetoFile('caminho\nome.bmp');

_bmp.Free;

e pra jpg mesma coisa só troque de

TBitmap pra TJpegImage e de _bmp pra _jpeg ou

qualquer coisa, o nome da variavel não importa rs

e mude a extensão...

abraço

Share this post


Link to post
Share on other sites
  • 0

Churc, deu um erro aqui cara, vo postar meu Código fonte, dai você consegueenxergar melhor.

erro: 'EconvertError: Cannot assing a TPicture to a TBitmap'

procedure TFormTCadCF.SpeedButton1Click(Sender: TObject);
var Picture: TPicture;
    BMP: TBitMap;
begin
Picture := graphics.TPicture.Create;
BMP := graphics.TBitmap.Create;
openpicturedialog1.Execute;

if openpicturedialog1.FileName <> '' then
begin
Picture.LoadFromFile(openpicturedialog1.filename);
BMP.Assign(Picture);    //// aqui deu erro
extensao := ExtractFileExt(OpenPictureDialog1.Filename);
dbimage1.picture.assign(bmp);

end

Obrigado

Share this post


Link to post
Share on other sites
  • 0

opa

Estranho era pra suportar, qual seu Delphi?

De qualquer forma tenta assim

BMP.Assign(Picture.Bitmap);

Estranho que você está jogando pra uma variavel TPicture

a imagem aberta, depois você joga pra um bitmap, e depois

você joga pra um tipo TPicture novamente a imagem bitmap

não seria mais fácil

dbimage1.picture.assign(Picture.Graphic);

abraço

Edited by Churc

Share this post


Link to post
Share on other sites
  • 0

Testei desta forma também, ele não dá mais erro, mas aparece meu dbedit todo em branco....

Delphi7 eu Uso.

Obrigado

Share this post


Link to post
Share on other sites
  • 0

Churc, não entendi muito bem...

eu tenho a imagem que eu puxei do dialog, está em PICTURE, do tipo Tpicture, que aceita quase todo tipo de imagem.

Esquece o resto agora, apaguei tudo...

O que eu faço para converte-la para .bmp, e jogala no meu DBIMAGE?

eu crio uma variavel pra receber a imagem em .bmp antes? , posso mudar pra .bmp pela variavel picture mesmo? o que eu faço?

entendeu? eu tenho ela, na variável PICTURE, e quero passar ela pra outra variavel como .bmp, ou passar ela pro dbimage como .bmp...

"Valeu" !!!!

Share this post


Link to post
Share on other sites
  • 0

Opa

Seguinte, eu não mexo com BD mas no seu código eu vi

dbimage1.picture.assign <-- Isso quer dizer que

o componente DBImage tem suporte a gráficos do tipo

TPicture ou seja, BMP, JPEG, GIF, Etc...

Sendo assim você faria, baseado no seu código...

procedure TFormTCadCF.SpeedButton1Click(Sender: TObject);
var
  Picture: TPicture;
begin
  if openpicturedialog1.Execute then
  //Essa parte abaixo você pode corrigir colocando nos Options do OpenFileDialog
  //as propriedades para true: FileMustExists e PathMustExists
  //O que significa que ele só passa se o arquivo existir e o caminho existir
  if openpicturedialog1.FileName <> '' then 
  begin
    Picture := graphics.TPicture.Create;
    Picture.LoadFromFile(openpicturedialog1.filename);
    extensao := ExtractFileExt(OpenPictureDialog1.Filename);
    dbimage1.picture.assign(Picture.Graphic);
    Picture.Free;
  end;
end;

Eu não testei, mas é pra funcionar...

qualquer coisa posta ai...

abraço

Share this post


Link to post
Share on other sites
  • 0

Isso mesmo Churc, assim seria para salvar no banco de dados esses tijpos.

O problema é que meu campo LONGBLOB mysql5, só aceita .bmp.

O DBImage aceita mesmo, o problema pe o DB mesmo.

então , eu tenho que converter para .bmp sacas? o que eu estou em busca é, de o DBImage receber a foto já convertida em .bmp pra depois eu dar o post.

Valeu!! até mais!

Share this post


Link to post
Share on other sites
  • 0

Ahh... entendi!

Você não tinha mencionado o porque rs

então tente assim

var
  Picture: TPicture;
  aBmp: TBitmap;
begin
  if openpicturedialog1.Execute then
  //Essa parte abaixo você pode corrigir colocando nos Options do OpenFileDialog
  //as propriedades para true: FileMustExists e PathMustExists
  //O que significa que ele só passa se o arquivo existir e o caminho existir
  if openpicturedialog1.FileName <> '' then
  begin
    Picture := graphics.TPicture.Create;
    aBmp := TBitmap.Create;
    Picture.LoadFromFile(openpicturedialog1.filename);
    extensao := ExtractFileExt(OpenPictureDialog1.Filename);
    aBmp.Assign(Picture.Graphic);
    dbimage1.picture.assign(aBmp);
    Picture.Free;
    aBmp.Free;
  end;

Abraço

Share this post


Link to post
Share on other sites
  • 0

schaukoski, no seu outro post (Image, Como Saber Formato (extensão) Da Picture., saber se é .JPEG, .BMP ou .JPG) observando que você provavelmente precisava converter para bmp a imagem carregada eu havia colocado uma opção que também pode ser útil -> Post

- Faz o resize proporcional (thumbnail);

- Grava em arquivo ou campo do banco;

- Não importa o formato de entrada - saída é BMP;

Abraços

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this