FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Cargar imágenes desde archivo en ImageList
Tengo el siguiente código que funciona bien con archivos .bmp pero no con los .jpg, me gustaría que alguien me ayudara:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender) { String dir = "C:"; if (SelectDirectory("Elige carpeta:","",dir)) { FileListBox1->Directory = dir; FileListBox1->ItemIndex = 0; for (int i = 0; i < FileListBox1->Count; i++) { lis->Add(FileListBox1->FileName); FileListBox1->ItemIndex++; } if (lis->Count>0) { Graphics::TBitmap* resBmp; TJPEGImage *ImagenJpg = new TJPEGImage(); TListItem *Item; String extension; for (int i = 0; i < lis->Count; i++) { extension = ExtractFileExt(lis->Strings[i]); if ((extension.UpperCase()==".JPG")||(extension.UpperCase()==".JPEG")){ ImagenJpg->LoadFromFile(lis->Strings[i]); resBmp->Height = ImageList1->Height; resBmp->Width = ImageList1->Width; ImageList1->Masked = false; ImagenJpg->DIBNeeded(); resBmp->Assign(ImagenJpg); ImageList1->Add(resBmp,NULL); Item = ListView1->Items->Add(); Item->Caption = ExtractFileName(lis->Strings[i]); Item->ImageIndex = i; } else { if (extension.UpperCase()==".BMP") { resBmp = new Graphics::TBitmap(); resBmp->Height = ImageList1->Height; resBmp->Width = ImageList1->Width; ImageList1->Masked = false; resBmp->LoadFromFile(lis->Strings[i]); ImageList1->Add(resBmp,NULL); Item = ListView1->Items->Add(); Item->Caption = ExtractFileName(lis->Strings[i]); Item->ImageIndex = i; } } } } else { ShowMessage("No hay archivos válidos en el directorio."); } } } |
#2
|
||||
|
||||
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración
|
#3
|
||||
|
||||
Hola vankul.
De este modo me funciona correctamente: Código:
#include <jpeg.hpp> void __fastcall TForm1::FormCreate(TObject *Sender) { FileListBox1->Directory = "C:\\Prueba\\Imagenes"; FileListBox1->Mask = "*.BMP;*.JPG;*.JPEG"; ListView1->SmallImages = ImageList1; ListView1->ViewStyle = vsSmallIcon; } void __fastcall TForm1::Button1Click(TObject *Sender) { for (int i = 0; i < FileListBox1->Items->Count; i++) { TJPEGImage *JPG = new TJPEGImage(); Graphics::TBitmap *BM = new Graphics::TBitmap; TRect R; AnsiString filename = FileListBox1->Directory + "\\" + FileListBox1->Items->Strings[i]; AnsiString name = ExtractFileName(filename); AnsiString ext = ExtractFileExt(filename).UpperCase(); R.Left = 0; R.Top = 0; R.Right = ImageList1->Width; R.Bottom = ImageList1->Height; BM->Width = ImageList1->Width; BM->Height = ImageList1->Height; try { if (ext == ".JPG" || ext == ".JPEG") { JPG->LoadFromFile(filename); BM->Assign(JPG); BM->Canvas->StretchDraw(R, BM); ImageList1->Add(BM, NULL); } if (ext == ".BMP") { BM->LoadFromFile(filename); ImageList1->Add(BM, NULL); } ListView1->Items->Add(); ListView1->Items->Item[ListView1->Items->Count-1]->Caption = name; ListView1->Items->Item[ListView1->Items->Count-1]->ImageIndex = i; } catch(...) { MessageBox(Handle, ((AnsiString)("Error leyendo imágen: "+filename)).c_str(), "ERROR", MB_ICONERROR); } delete JPG; delete BM; } } Edito: vankul, cambié el título original "Una ayudita" por uno mas significativo para facilitar las búsquedas.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 04-12-2013 a las 17:55:51. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cargar Imagenes desde un zip a un timage. | javier9090 | Varios | 3 | 19-03-2012 18:20:55 |
Cargar un Imagelist desde una dll | Fita | Gráficos | 0 | 30-04-2007 02:13:07 |
Cargar imágenes desde JAVA en MySQL | david.rguez | JAVA | 1 | 14-02-2007 13:36:19 |
Cargar imágenes desde un imagelist | johncook | Varios | 1 | 06-12-2004 13:44:15 |
cargar imagenes desde un fichero | docarrillo | Varios | 2 | 12-07-2003 17:02:46 |
|