AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Fehler beim Speichern von TImage
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler beim Speichern von TImage

Offene Frage von "draeger1980"
Ein Thema von draeger1980 · begonnen am 5. Dez 2008 · letzter Beitrag vom 5. Dez 2008
Antwort Antwort
draeger1980

Registriert seit: 26. Nov 2008
21 Beiträge
 
Delphi 2005 Personal
 
#1

Fehler beim Speichern von TImage

  Alt 5. Dez 2008, 19:37
Hi,

ich habe da ein Problem mit der TImage Komponente :
- ich lade erst ein JPEG in eine TJpegImage
- dann weise ich der TImage Komponeten das TJpegImage mit hilfe von Assign zu
- ändere die Farbtiefe (Bit) oder andere Werte wie in Graustufen anzeigen
+ das wird auch super dargestellt
- nur leider wenn ich die TImage Komponente Speichern möchte ist das File leer

was mache ich da falsch ?

mein zweites Problem ist wenn ich die CompressQuality ändere dann geschieht nix.
Die Lösung hier im Forum : Delphi - Praxis hat mir auch nicht weiter geholfen, da ich dann immer ein leeres TImage hatte.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Fehler beim Speichern von TImage

  Alt 5. Dez 2008, 19:39
Zeig mal deinen Code
Markus Kinzler
  Mit Zitat antworten Zitat
draeger1980

Registriert seit: 26. Nov 2008
21 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Fehler beim Speichern von TImage

  Alt 5. Dez 2008, 19:43
würde ich gerne aber habe ich erst montag wieder zur hand da mein anderer rechner mit dem ich arbeite ca 200km weit weg steht.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: Fehler beim Speichern von TImage

  Alt 5. Dez 2008, 20:04
Zitat von draeger1980:
würde ich gerne aber habe ich erst montag wieder zur hand da mein anderer rechner mit dem ich arbeite ca 200km weit weg steht.
Tja, so etwas ist für eine Problembewältigung etwas behindernt.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
blink182

Registriert seit: 19. Jun 2007
126 Beiträge
 
Delphi 5 Standard
 
#5

Re: Fehler beim Speichern von TImage

  Alt 5. Dez 2008, 21:46
Delphi-Quellcode:
procedure Graustufe(Bitmap: TBitmap);
var x,y :integer;
    pixel :^TRGB;
    grau :TColor;
begin
for y:= 0 to bitmap.height-1 do
   begin
      pixel:= bitmap.Scanline[y];
         for x:= 0 to bitmap.width-1 do
            begin
               grau:= HiByte(pixel.red*77+pixel.green*151+pixel.blue*28);
               pixel.red:= grau;
               pixel.blue:= grau;
               pixel.green:= grau;
               inc(pixel)
            end
   end;
   bitmap.assign(Bitmap);
end;

procedure TForm1.Button1Click(Sender: TObject);
var jpeg: TImage;
begin
jpeg:=TImage.Create(Self);
jpeg.picture.loadfromfile('C:\Bild1.jpg');
image1.height:=jpeg.picture.Height;
image1.Width:=jpeg.picture.Width;
Image1.Canvas.Draw(0,0,jpeg.Picture.graphic);
Image1.picture.Assign(jpeg.picture);
end;

procedure TForm1.Button2Click(Sender: TObject);
var pic: Tbitmap;
begin
pic:=TBitmap.create;
pic.Assign(Image1.picture.graphic);
Graustufe(pic);
Image1.Picture.bitmap.assign(pic);
pic.free;
Image1.picture.SaveToFile('C:\lol.bmp');
end;
also was wohl ein beliebter fehler sein könnte pic.Assign(Image1.picture.graphic); dass man hier Image1.picture.bitmap benutzt.
ist jetzt nicht sauber programmiert, mit try und except und so... aber sollte funktionieren
  Mit Zitat antworten Zitat
draeger1980

Registriert seit: 26. Nov 2008
21 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Fehler beim Speichern von TImage

  Alt 5. Dez 2008, 23:00
muss man denn immer das jpeg erst in ein bitmap umwandeln damit man es speichern kann ?

also meine idee war es :

image1.picture.savetofile(XYZ+'.jpg');
  Mit Zitat antworten Zitat
blink182

Registriert seit: 19. Jun 2007
126 Beiträge
 
Delphi 5 Standard
 
#7

Re: Fehler beim Speichern von TImage

  Alt 5. Dez 2008, 23:47
mhm auf die Idee bin ich früher auch gekommen, bringt nur leider nichts^^ du hast dann zwar eine Datei die xyz.jpg heißt aber eigentlich noch ein bmp ist, also musst du die datei umwandeln

Zitat:
BMP2JPG
Delphi-Quellcode:
uses Jpeg;

procedure Bmp2Jpeg(const BmpFileName, JpgFileName: string);
var
  Bmp: TBitmap;
  Jpg: TJPEGImage;
begin
  Bmp := TBitmap.Create;
  Jpg := TJPEGImage.Create;
  try
    Bmp.LoadFromFile(BmpFileName);
    Jpg.Assign(Bmp);
    Jpg.SaveToFile(JpgFileName);
  finally
    Jpg.Free;
    Bmp.Free;
  end;
end;
  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 13:54 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