TPNGObject - Erstellen Sie eine neue leere Bild und ziehen Sie durchscheinend Bilder drauf

Ich Baue eine Anwendung, die "virtuellen windows". Die Ausgabe ist TImage Objekt.

1) Die Anwendung lädt, Fenster-skin-Dateien in TPNGObject's:

TPNGObject - Erstellen Sie eine neue leere Bild und ziehen Sie durchscheinend Bilder drauf

2.) Dann Anwendung erstellen Sie eine neue leere TPNGObject, und die Größe des skin-Dateien zu den notwendigen Größen und zeichnen Sie diese auf das leere Bild. Sollte in etwa so Aussehen:

TPNGObject - Erstellen Sie eine neue leere Bild und ziehen Sie durchscheinend Bilder drauf

3) Und die endgültige Ausgabe auf TImage:

TPNGObject - Erstellen Sie eine neue leere Bild und ziehen Sie durchscheinend Bilder drauf

Das problem ist, dass ich weiß, wie das erstellen einer komplett leeren off-screen Bild. Natürlich könnte ich das einfach machen die Haut von Dateien auf TImage jedes mal, aber es ist einfacher und besser zu skalieren skin-Dateien und erstellen Sie die Fenster einmal statt.

Ich bin mit der PNG-Library von Gustavo Daud, version 1.564 (31 Juli, 2006).

  • Einige mögliche Erklärungen für die schlechte Antwort, dass Sie nicht, zumindest meiner Meinung nach, deutlich genug, was fehlschlägt. Auch, D7, ist eher die alten und es gab durchaus eine Menge von konkurrierenden PNG-Klassen. Und es ist Sonntag! Sein patient. Auch ein BMP wird nicht helfen, weil D7 BMP-support war ziemlich lahm.
  • Können Sie bitte lassen Sie uns wissen Sie genau, welche PNG-Bibliothek, die Sie verwenden? Es gibt viele da draußen, und wir können nicht helfen, ohne zu wissen, was es ist.
  • Roberts ist mit pngimage von Gustavo Daud, version mindestens 1.56. Roberts, Ihr Kommentar scheint vernünftig genug, aber öffnen Sie das erzeugte Bild in ein Bild-editor, und alle Kanäle sind leer.
  • Ich bin untersucht, und ich bin genauso ratlos wie du. Ich bin ausdrücklich Zeichnung auf die Leinwand, aber kein Bild kommt...
  • Roberts, Sie haben Martijn Saly ' s (Thany) Erweiterungen, insbesondere 'pngfunctions.pas'?
  • Ich habe nur PNGFunctions.pas.
  • Bevor die Menschen, die versuchen, Sie zu beantworten Frage aus der hand, es sieht aus, als ob Sie bedeutet etwas anderes Fragen. Der Umfang der Frage geändert hat. Diese Frage sollte weiterhin über die spezifischen PNG-Konstruktor geben schlechte Ergebnisse, und Sie sollten sich Fragen, eine andere Frage, über die Schichtung, transparente Bilder. Als ich dachte, habe ich deutlich gemacht in beide meine Antworten, die alle die primäre Zeichnung getan werden sollte, bitmaps, kopiert und in das PNG -, wie gebraucht. Transparenz kann erreicht werden, in bitmaps, und das einzige mal, sollten Sie sich sorgen machen über das, PNG, wenn Sie die Arbeit mit PNG-Dateien.
  • Und nochmal meine Letzte Bemerkung: Sie sollten einen Schritt zurück und werfen Sie einen Blick auf das größere Bild, welches Projekt Sie zu tun versuchen. Die PNG-Bibliothek (obwohl möglich) nicht unbedingt gedacht, nur für transparente Zeichnung. Es ist gedacht für die Arbeit mit PNG-Dateien.
  • Tut mir Leid, aber die Frage ist, in keiner Weise im Zusammenhang mit der ursprünglich gestellten Frage. Meine Antworten sind jetzt sinnlos und bekommst downvotes von hier aus auf. Man sollte Sie nie ändern Ihre Frage wie oben. Hinzufügen von Informationen, ja. Re-Formulierung, ja. Aber das löschen der Inhalt der Frage und schreiben eine andere Frage, ist ein Albtraum für uns.
  • PS Großem detail zu erklären, was Sie zu Fragen sind, einfach zu ersetzen Ihre Frage mit einer anderen Frage ist die Letzte Sache, die Sie tun möchten.
  • Es ist dieselbe Frage, die ich nicht erwähnt habe, einige Dinge. Das ist alles
  • Ich glaube, das Wort "Durchscheinend" wird Ihre Frage viel mehr klar, statt "Fast Durchsichtig". Fast Transparent machte mich verwirrt, aber wenn es die Transluzenz, die du meinst, dann ist das eine ganz andere Ballspiel. Ist es das, was du meinst?
  • Nochmal sorry, mein Englisch ist schlecht, ich komme aus anderen Land und ja, "Durchscheinend", das ist es, was ich meinte.
  • Großen Dank für Eure Hilfe, auch google für PNGFunctions.pas - es gibt eine Menge guter Funktionen, die innerhalb Sie ;), lernen im PNG ein bisschen besser jetzt.
  • Ich selbst kenne kaum PNG und Lerne es, aber ich würde noch empfehlen, nur verwenden Sie PNG wenn Sie beabsichtigen, arbeiten mit PNG-Dateien. Ansonsten werden Bitmaps sind vollständig in der Lage, die gleichen Dinge, die Sie wollen.
  • Auch Teil der Grund, ich will Ihnen helfen, mit diesem ist, dass ich in der Tat bin ironischerweise etwas ähnliches - Gebäude angepasste Fenster mit Glas-Effekt.
  • Ja, ich sehe deine Fragen ^^. Da kann man nicht einfach im paint ein PNG über die zweite PNG ich heruntergeladen Quelle aus dem Russischen blog und jetzt kann ich ein PNG von 2 PNG ' s
  • Aber ich denke, ich werde aufgeben, denn ich weiß nicht, wie man leeres PNG. Ich denke, meine Antwort ist die einzige, die...
  • Eigentlich hatte ich schon so ein Programm, ich baute es vor einem Monat, aber wegen der Sicherung, ich vergaß, es zu kopieren. Aber jetzt will ich es von Grund auf besser mit Fenster-Erstellung.
  • Das problem könnte sein, etwas so einfaches wie zu vergessen, um die Breite/Höhe der PNG-Objekt. Ich habe diesen Fehler viele Male (mit bitmaps). Auch von den Klängen der es, du nimmst an einem Projekt Weg, über Ihren Kopf, und es wird viele kleine Stücke zusammen zu arbeiten - und das ist immer Wahnsinn.
  • > "Wie man leere PNG" - (1) Erstellen Sie eine bitmap, die Größe, pixel-format 24 bit, (2) Erstellen Sie png-Objekt, dann png.Assign(bmp) (3) png.CreateAlpha.
  • Aber ich brauche nicht ein weißes Bild!!! Leer, leer - es bekommen?
  • Dann verwenden Sie die CreatePNG Verfahren, die ich erwähnt habe in der Antwort gelöscht. Irgendwie scheinen Sie sich nicht zu haben, bekam es aber..
  • Das hat nicht funktioniert.
  • Es ist eine komplett transparente png -, dass ich gezeigt habe, wie einige schreiben sichtbaren text auf es und der rest ist transparent. Ist nicht, was Sie bedeuten, indem Sie eine leere png? Was können Sie nicht tun? Was hat nicht funktioniert?
  • Oh, tut mir Leid. Ich glaube nicht, dass der code nicht mehr, dass Sie es gelöscht haben. Ich wusste nicht, wie es zu benutzen. Jetzt, nach diesen Tagen habe ich gelernt, wie man mit PNG. Sorry nochmal. Können Sie es wiederherstellen oder senden an [email protected] ??
  • Wiederhergestellt wird, sehen Sie, wenn Sie ein leeres png.
  • Haben Sie gesehen, FireMonkey und seine Fähigkeit, die Haut Ihre Anwendung für jedes Betriebssystem (und eigentlich kompilieren es für diejenigen, die als gut).
  • Nein, Nein, Nein. Das ist nicht das, was ich Tue. Ich bin nicht skinnen meine Anwendung. Ich bin makking skinnable Formen auf TImage

Schreibe einen Kommentar