Ir para conteúdo
Fórum Script Brasil
  • 0

Converter Imagem Jpeg, Ou Jpg Para .bmp


schaukoski

Pergunta

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!

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 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

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros 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

Editado por Churc
Link para o comentário
Compartilhar em outros 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" !!!!

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros 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!

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...