Autor |
Beitrag |
Frankieboy
      
Beiträge: 65
|
Verfasst: Mo 12.01.09 10:50
Hallo,
ich frage mich gerade, ob es Units oder ähnliches zur Bildbearbeitung gibt!
Ich müsste bei populären Bildarten (Jpeg, Tiff, Bmp und anderen) die Größe bestimmen und dann einen Pixel farblich ändern.
Da ich noch nie mit Delphi und Bildern gearbeitet habe, stelle ich lieber mal diese Frage.
Danke,
Frank
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 12.01.09 11:08
Bei Bitmap und Jpeg ist das kein Problem, denn die kennt Delphi schon selbst (für Jpeg muss die gleichnamige Unit in uses).
Die Größe der anderen bestimmen und diese anzeigen ist auch kein Problem mit GraphicEx. Speichern kann man diese damit aber nicht mehr im selben Format.
Schau mal hier, da findest du einige Komponenten für manche Formate:
www.torry.net/pages.php?id=111
|
|
Frankieboy 
      
Beiträge: 65
|
Verfasst: Mo 12.01.09 16:10
Danke für die Antwort!
bei Torrys' hab ich bis auf die WSQ Image Library nichts gefunden
Und um die zu benutzen, muss man auf jedem Rechner die DLL neu registrieren, also nicht praktikabel...
Gibt es keine anderen Units für ein paar zusätzliche Bildformate?
Ich will sie ja nur öffnen, oder in ein Bitmap konvertieren, dann etwas ändern und wieder im alten Format speichern!
Danke nochmal,
Frank
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mo 12.01.09 16:16
Frankieboy hat folgendes geschrieben : | Ich müsste bei populären Bildarten (Jpeg, Tiff, Bmp und anderen) die Größe bestimmen und dann einen Pixel farblich ändern. |
Ich werfe hier mal in den Raum, dass Du bei JPEG irgendwie noch sicherstellen musst, dass dieses eine Pixel bei der Kompression nicht verändert wird.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 12.01.09 16:34
|
|
Frankieboy 
      
Beiträge: 65
|
Verfasst: Mo 12.01.09 20:07
jaenicke hat folgendes geschrieben: |
Und Christian S. hat da natürlich auch einen wichtigen Punkt angesprochen. |
Nicht ganz. Es ist wichtig, dass das Pixel einen anderen Farbwert als vor dem Speichern hat. Ob der Wert genau dem entspricht, in dem man ihn eigentlich geändert hat, ist nicht so wichtig.
Die meisten VCs und DLLs auf Torry's Seite sind Shareware oder Trialware, also für mich nicht interessant. Erstmal reichen auch nur BMP und JPG Unterstützung.
Trotzdem habe ich noch eine Frage:
Wenn ich ein TImage benutze, und ein Bild (BMP oder JPEG) lade, wie verändere ich dann am besten ein Pixel um einen leichten Farbwert?
habe es so versucht (erstmal mit clBlack, damit man das Ergebnis sieht):
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| var BufferImage: TImage
[..] begin BufferImage.Picture.LoadFromFile('C:\router.bmp'); BufferImage.Picture.Bitmap.Canvas.Pixels[Pixel.X,Pixel.Y] := clBlack; BufferImage.Picture.SaveToFile('C:\router.bmp'); end;
end. |
Leider verschwindet das Bild aus dem TImage auf dem Formular, sobald der neue Farbwert clBlack zugewiesen wurde...
Wie kann ich ein entsprechendes Pixel leicht im Farbwert leicht nach oben oder unten ändern?
Danke nochmal,
Frank
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 12.01.09 20:18
|
|
Frankieboy 
      
Beiträge: 65
|
Verfasst: Di 13.01.09 17:40
jaenicke hat folgendes geschrieben : |
Genauso mit Jpeg, wenn die Unit eingebunden ist. |
Leider nicht!
Ich kann das Bild zwar als JPEG laden, aber nicht speichern.
In dem Fall bekomme ich ein leeres Bild.
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 13.01.09 21:10
|
|
Logikmensch
      
Beiträge: 390
Win XP
Delphi 2007 Prof., XE2, XE5
|
Verfasst: Mi 14.01.09 06:40
Hallo,
kannst Du uns mal aufklären, was Du genau vorhast, ich meine die Sache mit dem einen Pixel ändern.. Einfach neugierig sei...
LG.
_________________ Es gibt keine Probleme - nur Lösungen!
|
|
|