AGB  ·  Datenschutz  ·  Impressum  







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

PNG Bilder vergrößer bzw verkleinern

Ein Thema von Troelli · begonnen am 16. Okt 2008 · letzter Beitrag vom 18. Okt 2008
Antwort Antwort
Troelli

Registriert seit: 1. Mai 2003
15 Beiträge
 
Delphi 7 Enterprise
 
#1

PNG Bilder vergrößer bzw verkleinern

  Alt 16. Okt 2008, 12:31
Hallo
Ich habe folgendes Problem :

Ich versuche hier krampfhaft ein PNG Bild aus einer DLL zu extraieren und auf meiner Form als Hintegrund Bild zu plazieren. Das PNG Bild ist zu klein für die ganze Form also muss ich es stretchen.
Das will mir aber nicht gelingen, denn was ich auch mache .. es bleibt immer gleich groß, halt wie das original.
Für das PNG Bilde benutze Multilayered PNG Array MPNG v.1.0. Hatte schon echt lange gedauert bis ich spitz hatte das Timage das so nicht kann ohne Komponente.
Hat einer sowas schon mal gemacht? Eine PNG Als Hintergrund? Oder kann mir einer schreiben wie ich ein PNG Bild verkleinern/vergrößern kann ?
Gruß
Troelli
  Mit Zitat antworten Zitat
Torpedo

Registriert seit: 21. Dez 2003
410 Beiträge
 
#2

Re: PNG Bilder vergrößer bzw verkleinern

  Alt 16. Okt 2008, 12:57
Du könntest es auf einer eigenen Komponente (oder einfach im Form-Hintergrund) selbst zeichnen. Also einfach Laden und dann eben ausrechnen wo welche Farbe sein soll.
  Mit Zitat antworten Zitat
Troelli

Registriert seit: 1. Mai 2003
15 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: PNG Bilder vergrößer bzw verkleinern

  Alt 16. Okt 2008, 13:03
Und genau das habe ich echt nicht hinbekommen...
Schön wäre es wenn mir einer ein Sample zur verfügung stellen könnte. Ich bin ein Noob.
Bin gerade erst mit Delphi angefangen. Bist jetzt habe ich mich mit fertigen Komponenten retten können.
Google hält auch immer was bereit, aber diesmal stehe ich echt auf dem Schlauch
  Mit Zitat antworten Zitat
Torpedo

Registriert seit: 21. Dez 2003
410 Beiträge
 
#4

Re: PNG Bilder vergrößer bzw verkleinern

  Alt 16. Okt 2008, 13:12
Zitat von Troelli:
Ich bin ein Noob.
Na dann ist jetzt der richtige Moment etwas dazuzulernen.

Man könnte es zum Beispiel so machen: Man geht jeden Pixel der eigenen Komponente durch und schaut bei wie viel Prozent der Breite und Höhe der Komponente der Pixel ist.
Zum Beispiel wenn die Komponente 100*100 Pixel groß wäre und man beim Pixel x=50 y=10 ist, dann ist man bei 50% Breite (bzw. 0.5) und 10% Höhe (bzw. 0.1).
Jetzt schaut man welche Farbe im PNG an diesen Stellen (in Prozent!) ist und malt diese auf die Komponente.
Das funktioniert zwar, die "Überläufe" zwischen den Pixeln werden aber nicht geglättet. Also wenn du ein kleines Bild vergrößerst wird es ziemlich pixelig. Dafür icht es einfach zu verstehen und zu programmieren.
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.334 Beiträge
 
Delphi XE5 Professional
 
#5

Re: PNG Bilder vergrößer bzw verkleinern

  Alt 18. Okt 2008, 13:24
Wenn Du Dein PNG im TImage hast, ist es doch nicht weiter schwer. Du kannst bei Deinem TImage
Delphi-Quellcode:
Image1.Align := alClient;
Image1.Stretch := True;
setzen oder Du kopierst es nur auf den Hintergrund
Canvas.StretchDraw(ClientRect, Image1.Picture.Graphic); .
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  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 19:48 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