• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

Borland C++ Builder: Bilder darstellen

gim~li

Guest
Hallo,
ich versuche im Borland C++ Builder 6 Bilder darzustellen (die User aus einer Liste auswählen kann).
Allerdings handelt es sich dabei um jpegs, die leider standardmässig in der Komponente TImage nicht dazustellen sind.
Gibt es dazu Alternativen? Wenn möglich eine flexible Komponente, die nicht nur jpegs, sondern auch gifs, tiffs, etc darstellen kann.

Gruß
gim
 

The_Company

Guest
Du benutzt das falsche Toolkit.
Mit nem vernünftigen Toolkit brauchste zum Bilder anzeigen nicht mehr als das (mein Testprogramm :o):
Code:
#include <gtk/gtk.h>

int
main (int argc, char **argv)
{
  GtkWidget *window, *image;
  gtk_init (&argc, &argv);
  window=gtk_window_new (GTK_WINDOW_TOPLEVEL);
  image = gtk_image_new_from_file (argv[1]);
  gtk_container_add (GTK_CONTAINER (window), image);
  g_signal_connect (window, "destroy", gtk_main_quit, NULL);
  gtk_widget_show_all (window);
  gtk_main ();
  return 0;
}
Aber wer benutzt unter windows schon gtk... ;)
 

gim~li

Guest
hi
1) hab das prob schon mit ner borland komponente gelöst
2) es hat sich ein neues problem ergeben: wie kann ich jpgs bearbeiten (insbesondere die grösse ändern)?
3) was ist gtk? liesse sich damit vielleicht 2) beheben?

4) thx für die antwort :)
gruß
gim
 

The_Company

Guest
Das Problem was Du wahrscheinlich hast, ist dass Du ziemlich komplexe Dinge mit kostenlosen Komponenten machen willst. Das funktioniert mit den Borland Dingern leider nur sehr eingeschränkt, jedenfalls hab ich die Erfahrung mit Delphi damals gemacht.

Die einzige Möglichkeit Unmengen von kostenfreien Support-Komponenten zu bekommen ist Open Source Systeme zu nutzen. Nur damit bist Du schon fast bei Linux angekommen, und ich weiss nicht, ob Du dahin willst :)
Linux Komponenten machen jedenfalls problemlos resizing mit, laden gif, jpeg, tiff, png, ico, bmp und was weiss ich noch, unterstützen rotieren, alpha blenden und alles andere vorstellbare.
 
Mitglied seit
08.12.2001
Beiträge
2.053
Reaktionen
0
hol dir das window handle von der komponente und zeichne die bilder manuell mit der GDI rein, alternativ andere komponente...
 

Scheinkultur

Guest
Original geschrieben von gImLi
hi
1) hab das prob schon mit ner borland komponente gelöst
2) es hat sich ein neues problem ergeben: wie kann ich jpgs bearbeiten (insbesondere die grösse ändern)?
3) was ist gtk? liesse sich damit vielleicht 2) beheben?

4) thx für die antwort :)
gruß
gim

es gibt ne komponente die TJPEGImage heißt oder so ähnlich.. da kannst du jpegs reinladen und div. sachen mit anstellen... glaube die ist bei der borland library dabei.. musste aber mal suchen.
 

gim~li

Guest
also "TJPEGImage" hab ich in meiner bisherigen lösung benutzt.
nachteile:
- man kann damit nicht resizen (oder ich habs nur noch nicht rausgefunden)
- es ist an windows gekoppelt. hätte gern was, wo ich das ganze nachher nur unter unix kompiliern muss und es da auch läuft

gibts nicht irgendwas, wo ich nur ne datei includen muss und dann auf entsprechende funktionen zurückgreifen kann?
was da für linux geht, müsste doch auch unter windows gehn (is ja schliesslich nur konsole).

gruß
gim
 

Scheinkultur

Guest
hab mir gerade mal die komponente angeguckt und da kann man doch width und height angeben... oder z.B. scale sollte auch hilfreich sein...

2. keine winAPI oder die VCL benutzen würd ich mal schätzen... dann einfach mal ausprobieren

im Notfall kannst dus mit Borland Kylix komplilieren... (paar anpassungen müssen da aber glaub ich gemacht werden)
 

gim~li

Guest
klappt jetzt :)
hab einfach auf ein TBitmap Objekt gezeichnet, vergrössert und dann wieder gespeichert.
Ist zwar ein wenig verlustbehaftet, aber besser als nichts :)
 
Oben