Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » tImage

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
03.10.2005, 14:09 Uhr
friedel



ich weis, wie ich ein bild aus tImage in eine datei speichern kann. aber kann ich auch irgendwie das bild als jpg anstatt als bmp speichern, und die qualität oder auflösung der ändern?

dANkE
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.10.2005, 17:23 Uhr
Reyx
IT-fetischistischer Wurstsalat mit rostigem Berghorn
(Operator)


Klar kannst du das

Du musst nur statt "TBitmap" die Komponente "TJPEGImage" verwenden. Bei älteren Versionen vom BCB musst du da noch eine Datei inkludieren (ich bin mir nicht ganz sicher, aber ich glaube, die hieß "jpeg.hpp" oder "jpeg.h"). Mit der kannst du dann Arbeiten wie mit einem TBitmap:
Sprich, mit LoadFromFile() Dateien laden bzw. mit Assign() aus einem TBitmap übernehmen ... und eben mit SaveToFile() als JPEG speichern.

Die Qualität kannst du über eine Property (Compression?) regeln, die Auflösung wird wohl ohne einen eigenen Algo, der dir die neuen Farbwerte berechnet, nicht so ohne weiteres machbar sein.

Dieser Post wurde am 03.10.2005 um 17:24 Uhr von Reyx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.10.2005, 18:46 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
mal noch als kleiner Ansatz:
- eine Form
- zwei TImage
- ein Button

C++:
#include <jpeg.hpp>
#include <ClipBrd.hpp>
void __fastcall TForm1::btnSaveClick(TObject *Sender)
{
      Graphics::TBitmap* pBitmap = imgSource->Picture->Bitmap;
      TJPEGImage* pJpg = new TJPEGImage;
      try{
          Clipboard()->Assign(pBitmap); // hier war ich faul, mit nem Stream ist es eleganter :-)
          imgDest->Picture->Bitmap->LoadFromClipboardFormat(CF_BITMAP,
              Clipboard()->GetAsHandle(CF_BITMAP), 0);
          pJpg->Assign(imgDest->Picture->Bitmap);
          pJpg->SaveToFile("My.jpg");
      }__finally{
         delete pJpg;
         delete pBitmap;
      }
}


--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 03.10.2005 um 18:46 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.10.2005, 22:56 Uhr
Reyx
IT-fetischistischer Wurstsalat mit rostigem Berghorn
(Operator)



C++:
}__finally{

ui... ganz böse
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.10.2005, 13:44 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Reyx,
wenn Du nicht mehr auszusetzen hast, bin ich beruhigt . Ein Abräumer ist doch immer gut.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
17.10.2005, 12:31 Uhr
friedel



wenn ich den code ausprobiere kommt immer der Fehler:


Code:
Im Project1.exe ist eine Exception der Klasse EInvalidGraphic aufgetreten. Meldung:"Format der
Zwichenablage wird nicht unterstützt". Prozeß wurde angehalten...



woran kann das liegen? was mach ich falsch?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
17.10.2005, 14:04 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
welches Betriebssystem?
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
21.10.2005, 11:47 Uhr
friedel



ich habe windows xp professional
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
21.10.2005, 19:28 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
kann ich nicht nachvollziehen, hab das jetzt mal mit dem Builder kompilliert. Das läuft. OK, einen Fehler hab ich gemacht und zwar an der Stelle,
delete pBitmap;
Dort hab ich vorher
pBitmap = NULL;
vergessen.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: