QUESTION: I'm trying to create a thumbnail of a .jpg image on my form for a viewer program. Is there a quick way to accomplish this? ANSWER: You can use TCanvas::StretchDraw(). This sample uses two TImage components, an OpenPictureDialog, and a TButton. Drop the two TImage components on the form and name the first imgMain and set its dimensions to 400x400(Height x Width). Name the second TImage imgThumb and set its dimensions to 100x100. Then drop a TButton and the OpenPictureDialog component on the form and name them btnOpen and OpenPictureDialog respectively. Define btnOpen OnCLick event: void __fastcall TForm1::btnOpenClick(TObject *Sender) { OpenPictureDialog->Filter = "JPEG Image File (*.jpg)|*.jpg"; if(OpenPictureDialog->Execute()) { TJPEGImage *jpg = new TJPEGImage(); try { jpg->LoadFromFile(OpenPictureDialog->FileName); imgMain->Picture->LoadFromFile(OpenPictureDialog->FileName); imgThumb->Canvas->StretchDraw(Rect(0,0,imgThumb->Width,imgThumb->Height),jpg); } catch(...) { ShowMessage("Unable to load: " + OpenPictureDialog->FileName); } delete jpg; } } |
Last Modified: 10-MAY-00