AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

JPG-Bilder drehen

Ein Thema von oldmann · begonnen am 5. Mai 2021 · letzter Beitrag vom 6. Mai 2021
Antwort Antwort
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
152 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

JPG-Bilder drehen

  Alt 5. Mai 2021, 10:59
Liebe Delphi Gemeinde,

ich habe ein Problem mit dem Drehen von JPG-Bildern.
Bis Delphi 6 Prof. klappte das Drehen einwandfrei.
Ab Tokyo 10.2.2 klappt das nicht mehr.
Das Programm stört sich an den auskommentierten Zeilen.
Hat jemand eine Idee was das Problem sein könnte ???

Gruß Oldmann



Delphi-Quellcode:
procedure TScannen.JPG_Bilder_drehen(Sender: TObject);
var B : TBitmap;
begin
  if Image1.Picture.Graphic is TJPEGImage then
    FJpeg := TJPEGImage(Image1.Picture.Graphic)
  else
  FJpeg := nil;
  if FJpeg <> nil then
  begin
    FJpeg.Performance := jpBestSpeed;
    if false then
    begin
// FJpeg.AutoCMYKToRGB := false; // don't convert to RGB
      B := TBitmap.Create;
      B.Assign(FJpeg);
// jpeg.BitmapCMYKToRGB(B, true);
      Image1.Picture.Bitmap.Assign(B);
      B.Free;
      FJpeg := nil;
    end;
  end;
  if FJpeg = nil then exit;
 // FJpeg.Transform(TJpegTransform(4 {cbTrans.ItemIndex}));
  FRect := Rect(-1,-1,0,0);
end;


procedure TScannen.SpeedButton6Click(Sender: TObject);
var MyFilesExtension:string;
begin
  MyFilesExtension := ExtractFileExt(Edit4.Text);
  If Uppercase(MyFilesExtension) = '.JPGThen Scannen.JPG_Bilder_drehen(Sender);
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.051 Beiträge
 
Delphi 12 Athens
 
#2

AW: JPG-Bilder drehen

  Alt 5. Mai 2021, 11:05
Zitat:
Das Programm stört sich an den auskommentierten Zeilen.
Und wie?

* zur Laufzeit (Fehlermeldung?)
* im Compiler (wie ist die Meldung ... PS: Strg+C funktioniert)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
jziersch

Registriert seit: 9. Okt 2003
Ort: München
251 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: JPG-Bilder drehen

  Alt 5. Mai 2021, 11:09
Dein Delphi 6 code nutz anscheinend die erweiterte JPEG Klasse.

http://cc.embarcadero.com/Item/19723

Meines Wissens hats die nicht in Delphi offiziell geschafft.
WPCubed GmbH
Komponenten für Delphi:
WPTools, wPDF, WPViewPDF
  Mit Zitat antworten Zitat
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
152 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: JPG-Bilder drehen

  Alt 5. Mai 2021, 12:00
Hallo himitsu,

das sind die Fehlermeldungen zu den drei auskommentierten Zeilen:

E2003 Undeklarieter Bezeichner: AutoCMYKToRGB
E2003 Undeklarieter Bezeichner: BitmapCMYKToRGB
E2003 Undeklarieter Bezeichner: Transform

Deine zweite Zeile
* im Compiler (wie ist die Meldung ... PS: Strg+C funktioniert)
verstehe ich nicht.

Gruss Oldmann
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.051 Beiträge
 
Delphi 12 Athens
 
#5

AW: JPG-Bilder drehen

  Alt 5. Mai 2021, 12:09
verstehe ich nicht
Viele schreiben es manuell "ab" (und vergessen dann gern die Hälfte oder bauen Fehler ein), aber man kann die Meldung ja einfach kopieren

OK, dann liegt es daran, dass du mit unterschiedlichen Versionen oder gar einer ganz anderen Komponente arbeitest,
und entweder die neue Komponente diese Funktionen nicht kennt, oder sie dort anders heißen.

Das Drehen kann man notfalls auch mit anderen Komponenten machen (Bitmap drehen, dafür findet sich viel im Forum),
also JPEG auf Canvas des Bitmap malen, dort drehen und dann den Canvas vom Bitmap zurück in den Canvas des JPEG kopieren (vorher Width und Height anpassen/tauschen)
Eventuell kann man auch direkt im Canvas drehen, dann kann das Bild dafür vermutlich auch im JPEG bleiben.



Du könntest natürlich notfalls auch versuchen die alte Komponente/Unit ins neue Delphi zu bekommen und dann weiterhin Diese zu verwenden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 5. Mai 2021 um 12:36 Uhr)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#6

AW: JPG-Bilder drehen

  Alt 5. Mai 2021, 12:10
Die Jpeg.unit welche du noch unter Delphi 6 verwendest gibt es unter Tokyo 10.2.2 so nicht!
Deshalb werden die Bezeichner auch nicht gefunden.

Du mußt die Jpeg Unit (aus Tokyo 10.2.2) durchforsten welche ähnlichen Funktionen dafür dort vorhanden sind.

PS: @himitsu war schneller.

Geändert von venice2 ( 5. Mai 2021 um 12:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.597 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: JPG-Bilder drehen

  Alt 5. Mai 2021, 12:26
Es ist vermutlich die folgende jpeg-Unit, die da verwendet wird:

https://sourceforge.net/projects/deljpegex/

Angeblich compiliert das auch für Delphi 2009, also vermutlich auch für neuere Versionen.

Interessantes Projekt übrigens, muss mich mir mal genauer ansehen. Diese lossless Transformationen für JPEGs wären sehr hilfreich, insbesondere, wo wir libjpeg-turbo bereits einsetzen.
Thomas Mueller
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#8

AW: JPG-Bilder drehen

  Alt 5. Mai 2021, 12:31
Nun dann muß er jpegex ohne jpeg in sein Projekt einbinden (jpeg wird ja schon von der jpegex eingebunden)
Ob die Unit jpeg (D6) jedoch mit der von Tokio kompatibel ist mag dahin gestellt sein.

Delphi-Quellcode:
  //version 80, last supported by libjpeg-turbo
  JPEG_LIB_VERSION = 80;

Geändert von venice2 ( 5. Mai 2021 um 12:34 Uhr)
  Mit Zitat antworten Zitat
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
152 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: JPG-Bilder drehen

  Alt 6. Mai 2021, 11:03
Hallo,

erst einmal vielen dank an alle die sich eingebracht haben.
Ich habe jetzt in der 'Entwickler Ecke' eine neue Routine "TGraphic"
gefunden die super funktioniert.
Also nochmals vielen Dank.

Gruß Oldmann
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz