JPeg no TImageList
Bom dia pessoal....mais uma vez recorro aos amigos do fórum....
O problema é o seguinte....eu tenho um botão que encontrei na Net chamado d ALButton...o mesmo é transparente e toma forma conforme imagem q é atribuída ao mesmo....fica parecendo botões Web....
Então...
Eu tenho uma aplicação q está sendo feita crianças....e em kda letra eu preciso d uma imagem referente a letra....
Aew começam os problemas....
Eu preciso carregar imagens JPeg o TImageList só aceita imagens .Bmp e .Ico....
Alguém conhece algum componente q aceite JPeg??
Fico no aguardo...
obrigado pessoal...
O problema é o seguinte....eu tenho um botão que encontrei na Net chamado d ALButton...o mesmo é transparente e toma forma conforme imagem q é atribuída ao mesmo....fica parecendo botões Web....
Então...
Eu tenho uma aplicação q está sendo feita crianças....e em kda letra eu preciso d uma imagem referente a letra....
Aew começam os problemas....
Eu preciso carregar imagens JPeg o TImageList só aceita imagens .Bmp e .Ico....
Alguém conhece algum componente q aceite JPeg??
Fico no aguardo...
obrigado pessoal...
Wdrocha
Curtidas 0
Respostas
Abobre
30/09/2008
cara, eu naõ estou com o delphi aqui, mais acho que ele reconhece imagens jpeg sim, para funcionar você precisar declarar jpeg na uses do seu projeto cara. Tente fazer isso e me fala se deu certo !
Abraços
Abraços
GOSTEI 0
Wdrocha
30/09/2008
Bom dia abobre, o Delphi aceita sim...mas no TImage....eu preciso q aceite no TImageList....
Qdo vou carregar imagens no TImageList o mesmo só carrega imagens *.Ico e *.BMP...
Já declarei a unit JPeg....e nada tbm...
Tem alguma idéia??
No aguardo...
Obrigado..
Qdo vou carregar imagens no TImageList o mesmo só carrega imagens *.Ico e *.BMP...
Já declarei a unit JPeg....e nada tbm...
Tem alguma idéia??
No aguardo...
Obrigado..
GOSTEI 0
Paullsoftware
30/09/2008
Bom dia abobre, o Delphi aceita sim...mas no TImage....eu preciso q aceite no TImageList....
Qdo vou carregar imagens no TImageList o mesmo só carrega imagens *.Ico e *.BMP...
Já declarei a unit JPeg....e nada tbm...
Tem alguma idéia??
No aguardo...
Obrigado..
Delphi 2009 aceita até PNG da uma atualizada na sua versão :wink:GOSTEI 0
álison Bissoli
30/09/2008
não é tão facil atualizar a versão.
por exemplo, o JEDI já saiu para o 2009, e o devexpress ainda não.
alguém tem notícia do dev pro 2009?
por exemplo, o JEDI já saiu para o 2009, e o devexpress ainda não.
alguém tem notícia do dev pro 2009?
GOSTEI 0
Wdrocha
30/09/2008
Delphi 2009 aceita até PNG da uma atualizada na sua versão :wink:
Eu tow testando a versão Trial do Delphi e já tinha visto q a mesma aceita....
Como eu faço para atualizar a versão??
Tow precisando mt disso...meu trabalho só poderá continuar se eu fizer isso...
No Aguardo...
Mt obrigado a todos...
GOSTEI 0
Wdrocha
30/09/2008
Eu tow tentando colocar imagem nos botões do Delphi 2009, versão Trial e as mesmas não aparecem... :-(
Primeiro carrego as imagens para um ImageList e na propriedade Images do TButton associo ao TImageList...tem q fazer mais alguma coisa? :-(
Primeiro carrego as imagens para um ImageList e na propriedade Images do TButton associo ao TImageList...tem q fazer mais alguma coisa? :-(
GOSTEI 0
Paullsoftware
30/09/2008
[quote:84e183cc50=´Álison Bissoli´]não é tão facil atualizar a versão.
por exemplo, o JEDI já saiu para o 2009, e o devexpress ainda não.
alguém tem notícia do dev pro 2009?[/quote:84e183cc50]É, realmente quem usa componentes de terceiros fica meio complicado acompanhar as atualizações do produto!!! 8)
por exemplo, o JEDI já saiu para o 2009, e o devexpress ainda não.
alguém tem notícia do dev pro 2009?[/quote:84e183cc50]É, realmente quem usa componentes de terceiros fica meio complicado acompanhar as atualizações do produto!!! 8)
GOSTEI 0
Wdrocha
30/09/2008
paullsoftware, vc conseguiu colocar imagem nos botões??
GOSTEI 0
Paullsoftware
30/09/2008
paullsoftware, vc conseguiu colocar imagem nos botões??
Não diretamente, mas, consegui colocar vinculando os botões as minhas ações que possuem uma lista de imagens também vinculadas.[url=http://www.safpe.com.br/externo/jpgEmBotoes.rar]link do exemplo[/url]
GOSTEI 0
Wdrocha
30/09/2008
É quase isso q eu quero...só queria q a imagem ficasse em cima e o caption do botão em baixo....
tem como??
tem como??
GOSTEI 0
Paullsoftware
30/09/2008
No objector Inspector tem uma opção para mudar a posição da imagem para qualquer lugar... Left, Right, Button ou Top!
da uma olhada, espero ter ajudado! :wink:
da uma olhada, espero ter ajudado! :wink:
GOSTEI 0
Wdrocha
30/09/2008
Bom dia PaullSoftware....vc me ajudou mt com o exemplo...
Obrigado
Obrigado
GOSTEI 0
Tonidavi2004
30/09/2008
[b:81d6bc7f85]WDRocha escreveu[/b:81d6bc7f85]
Fiz um exemplo para vc poder adaptar segundo as suas necessidades.
Primeiro vc deve setar a propriedade Masked := False do TImageList
veja o código:
Neste exemplo que fiz eu add no Opendialog1 só imagem jpg.
Vc disse que quer usar uma imagem jpg em cada botão, para resgatar as imagens colocadas dentro do TImageList basta usar a função
ImageList1.GetBitmap(Index: integer; Bitmap: TBitmap);
Que tem dois parâmetros, Index que é o índice da imagem e um Bitmap que será carregado internamente com a imagem do ImageList especificado pelo índice. exemplo:
No exemplo fui obrigado a marretar o tamanho de cada imagem por 200 para meu exemplo. Até porque não tinha imagens do mesmo tamanho, mas vc não precisará fazer isso, porque as suas imagens terão o mesmo tamanho, basta vc configurar o ImageList com o mesmo tamanho de suas imagens.
Espero ter ajudado. Um grande abraço !!!
Eu tenho uma aplicação q está sendo feita crianças....e em kda letra eu preciso d uma imagem referente a letra.... Aew começam os problemas.... Eu preciso carregar imagens JPeg o TImageList só aceita imagens .Bmp e .Ico.... Alguém conhece algum componente q aceite JPeg?? Fico no aguardo...
Fiz um exemplo para vc poder adaptar segundo as suas necessidades.
Primeiro vc deve setar a propriedade Masked := False do TImageList
veja o código:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ImgList, ExtCtrls, StdCtrls, Buttons, ComCtrls;
type
TForm1 = class(TForm)
ImageList1: TImageList;
ListView1: TListView;
OpenDialog1: TOpenDialog;
Button1: TButton;
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Jpeg;
{$R *.DFM}
procedure TForm1.FormActivate(Sender: TObject);
var
Jpg: TJPEGImage;
bmp: TBitmap;
i: integer;
Lista: TStrings;
begin
try
try
Jpg := TJPEGImage.Create;
bmp := TBitmap.Create;
Lista := TStringList.Create;
if (OpenDialog1.Execute) then
begin
Lista.AddStrings(OpenDialog1.Files);
for i := 0 to Pred(OpenDialog1.Files.Count) do
begin
Jpg.LoadFromFile(OpenDialog1.Files.Strings[i]);
bmp.Assign(Jpg);
bmp.Height := 200;
bmp.Width := 200;
ImageList1.Add(bmp, bmp);
end;
end;
finally
FreeAndNil(bmp);
FreeAndNil(Jpg);
FreeAndNil(Lista);
end;
except
FreeAndNil(bmp);
FreeAndNil(Jpg);
FreeAndNil(Lista);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
ListItem: TListItem;
begin
for i := 0 to Pred(ImageList1.Count) do
begin
ListItem := ListView1.Items.Add;
Listitem.Caption := ´Imagem n° ´+ IntToStr(i);
ListItem.ImageIndex := i;
end;
end;
end.
Neste exemplo que fiz eu add no Opendialog1 só imagem jpg.
Vc disse que quer usar uma imagem jpg em cada botão, para resgatar as imagens colocadas dentro do TImageList basta usar a função
ImageList1.GetBitmap(Index: integer; Bitmap: TBitmap);
Que tem dois parâmetros, Index que é o índice da imagem e um Bitmap que será carregado internamente com a imagem do ImageList especificado pelo índice. exemplo:
ImageList1.GetBitmap(2, BitBtn1.Glyph);
No exemplo fui obrigado a marretar o tamanho de cada imagem por 200 para meu exemplo. Até porque não tinha imagens do mesmo tamanho, mas vc não precisará fazer isso, porque as suas imagens terão o mesmo tamanho, basta vc configurar o ImageList com o mesmo tamanho de suas imagens.
Espero ter ajudado. Um grande abraço !!!
GOSTEI 0
Wdrocha
30/09/2008
Bom dia tonidavi2004, eu testei o seu exemplo e funciona mt bem para o BitBtn...ficou mt legal....
porém...eu preciso q ele funcione para o componente q estou usando...
Nome do botão q estou usando é o ALGraphicButton o mesmo tbm tem a propriedade Glyph e qdo faço assim..
acontece o seguinte erro...
[b:9875d4fafc]Incompatible types : ´TBitmap´ and ´TImageList´;[/b:9875d4fafc]
Tentei fazer assim....
compila certinhow...
mas qdo executo a linha acima...acontece AcessViolation....
se vc quiser eu posso enviar o componente pra vc testar...
Blz?
porém...eu preciso q ele funcione para o componente q estou usando...
Nome do botão q estou usando é o ALGraphicButton o mesmo tbm tem a propriedade Glyph e qdo faço assim..
ImageList1.GetBitmap(0,ALGraphicButton1.Glyph);
acontece o seguinte erro...
[b:9875d4fafc]Incompatible types : ´TBitmap´ and ´TImageList´;[/b:9875d4fafc]
Tentei fazer assim....
ImageList1.GetBitmap(0, TBitmap (ALGraphicButton1.Glyph));
compila certinhow...
mas qdo executo a linha acima...acontece AcessViolation....
se vc quiser eu posso enviar o componente pra vc testar...
Blz?
GOSTEI 0
Tonidavi2004
30/09/2008
Manda sim que testo aqui. tonidavi2004@yahoo.com.br
GOSTEI 0
Wdrocha
30/09/2008
Tah no seu email..
vlw
vlw
GOSTEI 0
Tonidavi2004
30/09/2008
[b:134542929f]WDRocha[/b:134542929f] boa tarde, eu já baixei o componente, eu nem instalei, fui direto olhar o ALButton.pas.
Verifiquei que a propriedade Glyph é um TImageList, por isso deu erro. Uma sugestão para usá-lo, carregue um TImageList com as imagens jpg como te falei anteriormente e seta [b:134542929f]Glyph := ImageList[/b:134542929f] com as imagens carregadas, isso para todos os botões. Agora vc seta a propriedade [b:134542929f]GlyphIndex[/b:134542929f] de cada botão com índice da imagem.[/b]
Verifiquei que a propriedade Glyph é um TImageList, por isso deu erro. Uma sugestão para usá-lo, carregue um TImageList com as imagens jpg como te falei anteriormente e seta [b:134542929f]Glyph := ImageList[/b:134542929f] com as imagens carregadas, isso para todos os botões. Agora vc seta a propriedade [b:134542929f]GlyphIndex[/b:134542929f] de cada botão com índice da imagem.[/b]
GOSTEI 0
Wdrocha
30/09/2008
Blz..vou fazer o proposto e na segunda eu posto a resposta...
tah acabando o dia d trabalho....rsrsrsrs
Mt obrigado...na segunda sem falta...blz??
bom fds pra vc...
Vlw
tah acabando o dia d trabalho....rsrsrsrs
Mt obrigado...na segunda sem falta...blz??
bom fds pra vc...
Vlw
GOSTEI 0
Tonidavi2004
30/09/2008
:D blz !!! Bom final de semana pra vc também !!! :D
GOSTEI 0
Wdrocha
30/09/2008
Bom dia TonyDavi, eu fiz o proposto...
E não deu certo...acontece AcessViolation.... :cry:
tem alguma idéia??
Vlw
ALGraphicButton1.Glyph := ImageList1; ImageList1.GetBitmap(0, TBitmap (ALGraphicButton1.Glyph));
E não deu certo...acontece AcessViolation.... :cry:
tem alguma idéia??
Vlw
GOSTEI 0
Tonidavi2004
30/09/2008
Bom dia !!! Não é isso. É pra vc colocar todas as imagens .jpg no ImageList e depois setar a propriedade Glyph := ImageList do AlButton. Por exemplo:
Assim coloca-se cada imagem referente ao seu próprio botão.
ALButton1.Glyph := ImageList; ALButton2.Glyph := ImageList; ALButton3.Glyph := ImageList; ALButton1.GlyphIndex := 0; // primeira imagem do ImageList ALButton2.GlyphIndex := 1; // segunda imagem do ImageList ALButton3.GlyphIndex := 2; // terceira imagem do ImageList
Assim coloca-se cada imagem referente ao seu próprio botão.
GOSTEI 0
Wdrocha
30/09/2008
Bom dia ToniDavi, desculpa a demora em responder...
Mas o q vc me passou deu certo...
Mt obrigado pela força...
Vlw..
Mas o q vc me passou deu certo...
Mt obrigado pela força...
Vlw..
GOSTEI 0