AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [Andorra] Texture bearbeiten
Thema durchsuchen
Ansicht
Themen-Optionen

[Andorra] Texture bearbeiten

Ein Thema von EarlyBird · begonnen am 23. Nov 2008 · letzter Beitrag vom 24. Nov 2008
Antwort Antwort
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#1

[Andorra] Texture bearbeiten

  Alt 23. Nov 2008, 17:42
Hallo,
kann ich eine Textur in Andorra2D verändern?
Ich lade eine bmp Datei als Textur in ein TadImage.

Kann ich auf diese Textur:
- Text schreiben
- ein Rectangle zeichnen
- usw...

Wenn ja, wie?

Ich weiß dass ich die Textur mit SaveToGraphic in ein Tbitmap speichern kann, dann das Bitmap ändere und anschließend wieder lade.
Das scheint mir aber recht umständlich und zeitaufwendig.

Ich denke dass es doch eine bessere Möglichkeit gibt!?!?

Danke
Gruß
EarlyBird
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#2

Re: [Andorra] Texture bearbeiten

  Alt 23. Nov 2008, 17:43
Du kannst ein TAdTextureSurface erstellen und darauf wie auf jedes TAdDraw malen.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#3

Re: [Andorra] Texture bearbeiten

  Alt 23. Nov 2008, 17:52
Zitat von igel457:
Du kannst ein TAdTextureSurface erstellen und darauf wie auf jedes TAdDraw malen.
Danke für die super schnelle Antwort.

Bleibt denn das "gemalte" im Speicher erhalten?
Oder muss ich bei jedem Frame neu malen?

Kann ich dann diese geänderte Textur als bmp speichern?
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#4

Re: [Andorra] Texture bearbeiten

  Alt 23. Nov 2008, 20:07
Zitat von EarlyBird:
Bleibt denn das "gemalte" im Speicher erhalten?
Ja.
Zitat von EarlyBird:
Kann ich dann diese geänderte Textur als bmp speichern?
Ja.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#5

Re: [Andorra] Texture bearbeiten

  Alt 23. Nov 2008, 20:44
Kannst du mir bitte noch ein bischen auf die Sprünge helfen!?!?

Kannst Du mir ein kurzes Beispiel zeigen wie ich die bmp Texttur in das TAdTextureSurface lade.
Und wie ich es anschliessend wieder als bmp speichern kann.

LoadGraphicFromFile gibt es anscheinend nicht.

Besten dank für Deine Mühe
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#6

Re: [Andorra] Texture bearbeiten

  Alt 23. Nov 2008, 22:18
Du kannst keine Grafiken in das Surface laden - aber du kannst eine Grafik auf das Surface zeichnen.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#7

Re: [Andorra] Texture bearbeiten

  Alt 24. Nov 2008, 10:27
Zitat von igel457:
Du kannst keine Grafiken in das Surface laden - aber du kannst eine Grafik auf das Surface zeichnen.
Danke für den Tip.

Sind die TadCanvas Zeichenfunktionen eigendlich schneller wie die Tcanvas Zeichenfunktionen?

Ich benötige nur rectangle lineto und Textout

Wobei ich den Text sowohl horizontal als auch vertikal ausgeben muss.


Wenn TadCanvas nicht schneller ist würde ich die Texturen weiterhin mit Tcanvas erstellen und dann als Textur in ein Sprite laden.
Oder habe ich dann durch das Laden der Textur wieder einen Flaschenhals geschaffen?
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#8

Re: [Andorra] Texture bearbeiten

  Alt 24. Nov 2008, 16:53
Das Zeichnen auf eine Rendertargettextur mit dem TAdCanvas sollte definitiv schneller sein als das zeichnen mit TCanvas auf ein BMP und dieses dann in eine Textur zu laden. Ersteres findest schließlich direkt auf der Grafikkarte statt.

Besonders wenn du den Inhalt oft wechselst, ist die erste Variante besser - Das schicken der Daten von der GDI (TCanvas) an die Grafikkarte benötigt schon seine Zeit.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#9

Re: [Andorra] Texture bearbeiten

  Alt 24. Nov 2008, 18:07
Danke für die Info.

Ich werde es wohl neu schreiben mit TadCanvas.
Ist auch nicht so das Problem.

Nur habe ich noch nichts gefunden den Text vertikal auszurichten.
Gibt es eine Möglichkeit einen vertikalen Font zu erstellen??
(mit der Tcanvas habe ich es so gelöst).

oder muss ich den Text auf ein extra Tadcanvas zeichnen und dann mit DrawRotate in mein "ZielCanvas" einfügen!?!?

(Deine Engine ist übrigens Genial
Gibt es so was wie eine Roadmap.
Ein Vertikaler Font wäre doch eine prima Idee )
  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 05:12 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