AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi grafischer Scroll Text (StarWars o.ä.)
Thema durchsuchen
Ansicht
Themen-Optionen

grafischer Scroll Text (StarWars o.ä.)

Ein Thema von Fukiszo · begonnen am 22. Jan 2018 · letzter Beitrag vom 28. Jan 2018
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
EWeiss
(Gast)

n/a Beiträge
 
#31

AW: grafischer Scroll Text (StarWars o.ä.)

  Alt 27. Jan 2018, 10:32
Zitat:
bitte nicht abwertend verstehen,
Kein Problem hab es so auch nicht verstanden..

MakePoint erwartet als Rückgabe Single.
Schau einfach mal auf welche Funktion von MakePoint p[0] zugreift.

Notfalls mal die Reihenfolge der Units ändern.

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#32

AW: grafischer Scroll Text (StarWars o.ä.)

  Alt 27. Jan 2018, 11:33
Zitat:
DoubleBuffer gibt es leider so noch nicht, muss ich nachträglich einbauen (ja ja, doofes altes delphi ich weiß)
Warum doof?
Jedem das seine.
Ich mache dir das mit dem Double buffer kein Problem.

gruss
  Mit Zitat antworten Zitat
Fukiszo
(Gast)

n/a Beiträge
 
#33

AW: grafischer Scroll Text (StarWars o.ä.)

  Alt 27. Jan 2018, 12:37
info, unter radstudio xe 10.2.2 schnurrt alles wie bei deinem original binary ohne probleme
ich hat gerade mal unsere firmen vm gestartet und kompiliert, alles sahne.
mein lokales problem werde ich schon hinbekommen, GDI_Close hab ich hinzugefügt danke!

Alles wird gut


Grüße


(wobei ich gerade eher vom code fasziniert bin wie du mit gdi+ umgehst)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#34

AW: grafischer Scroll Text (StarWars o.ä.)

  Alt 27. Jan 2018, 12:58
Hier eine aktualisierte Version mit neuer Gradient(verschiedene Richtungen zeichnen) und Doublebuffer Funktion.
Habe aber ein kleines Problem nach dem abspielen wird der Gradient nicht mehr gezeichnet..
Eventuell muss ich hier ein Temporäres Transparentes Bitmap erstellen ansonsten wüsste ich jetzt nicht an was es sonst noch liegen könnte das der Hintergrund schwarz ist.

Kannst ja mal vergleichen
Pick dir raus was du brauchst.

Zitat:
(wobei ich gerade eher vom code fasziniert bin wie du mit gdi+ umgehst)
Über die Jahre bleibt schon was hängen

EDIT:
Hier ist noch ein Problem..
Delphi-Quellcode:
  // Pen color for Border
  PenARGB := ColorARGB(255, 0);
  // Font Color
  ColrARGB := ColorARGB(255, RGB(255, 255, 0));

  UseFont := 'Arial';
  UseSize := 20;
  UseGradient := true;
  // ScrollOffset must be the same then Font size
  ScrollOffset := UseSize * Length(Txt); //<< muss hinter UseSize nicht davor
Im alten code wird UseSize verwendet bevor es zugewiesen wurde, ist dann 0

gruss

Geändert von EWeiss (11. Jul 2019 um 17:13 Uhr)
  Mit Zitat antworten Zitat
Fukiszo
(Gast)

n/a Beiträge
 
#35

AW: grafischer Scroll Text (StarWars o.ä.)

  Alt 27. Jan 2018, 13:49
ja das mit der fontsize hatte ich bereits berücksichtigt in der hoffnung ich bekomme schrift auch angezeigt
daran lag es nicht und die zweite version, ich hab noch nicht weiter reingeschaut nur rasch nebenbei kompiliert und probiert, da ist beim gradient ein sehr hoher cpu zuwachs, weswegen ich darauf komplett verzichte. (text anzeige bleibt noch leer, evtl muss ich's auf nonGDI+ bringen damit auch ich spass damit haben kann, ich teste noch viele varianten durch.) Danke auch für die DoubleBuffer implementierung aus der ich lernen kann!! Das hilft!
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#36

AW: grafischer Scroll Text (StarWars o.ä.)

  Alt 27. Jan 2018, 14:13
Zitat:
da ist beim gradient ein sehr hoher cpu zuwachs
Bei mir habe ich 0% CPU
Beim Border zeichnen ja da ist ein Zuwachs weil ich dann die Schrift doppelt zeichnen muss.

Zitat:
Danke auch für die DoubleBuffer implementierung aus der ich lernen kann!! Das hilft!
Kein Problem..

Zur Info.
DC := DoubleBuffer(PaintBox1.Canvas.Handle, rc.Right, rc.Bottom, CreateBuffer);

CreateBuffer erstellt ein Temporäres Bitmap.
DoubleBuffer gibt dann ein DC zurück auf das du zeichnen kannst.

Alle Zeichnungsoperationen werden dann auf das Temporäre Bitmap gezeichnet nicht in die PaintBox selbst.
Mit
DoubleBuffer(0, 0, 0, DestroyBuffer);

Wird dann das Resultat vom Bitmap(DestDC) in das SourceDC(PaintBox) geblittet und die Ressourcen freigegeben.

Denke aber du weist das selbst

Zitat:
bei der JVCL ist eine TStarScroller
Weis jetzt nicht was du meinst aber das ist das kleinste Problem

Ok dann viel Spaß noch beim probieren.


gruss

Geändert von EWeiss (11. Jul 2019 um 16:49 Uhr)
  Mit Zitat antworten Zitat
Fukiszo
(Gast)

n/a Beiträge
 
#37

AW: grafischer Scroll Text (StarWars o.ä.)

  Alt 27. Jan 2018, 15:09
Hier ein minibeispiel was ich mit dem Sternenfeld meinte,
per Bild klappts natürlich auch, sehr geschmeidig gelöst hehe

Grüße


(zum compilieren JVCL und RxLib erforderlich deswegen auch .exe drinnen)

edit: vergessen datei ranzupappen :-/
Angehängte Dateien
Dateityp: 7z starfield.7z (261,8 KB, 10x aufgerufen)

Geändert von Fukiszo (27. Jan 2018 um 15:16 Uhr)
  Mit Zitat antworten Zitat
Fukiszo
(Gast)

n/a Beiträge
 
#38

AW: grafischer Scroll Text (StarWars o.ä.)

  Alt 27. Jan 2018, 20:36
mein lokales problem hab ich eingrenzen können, es sind die single werte für koordinaten oder wie sie benutzt werden.
der scroller zeichnet alles farblos total klein und weit ausserhalb des sichtbaren bereichs.
(bei mir extrem weit links, ich denk mal das da irgendwo dein 0-wert beginnt)
herausgefunden dank deiner doublebuffer funktion, da schob ich ein weißes bild zwischen um ein flackern zu bekommen.
ich bastel mal rum um mir in bei wiedergabe ein paar werte anzeigen zu lassen damit ich koordinaten kontrolliere.

Grüße

(solangsam nervts und ich bin geneigt auf 2010 upzugraden, ich guck mal bei ebay rein.)

edit:
anbei noch ein paar nette samples die ich fand.
particlesystem.7z = komponente mit der man easy flammen effekte hinbekommt
sam69.7z = opengl scroller, schaut aus wie ein wirbelsturm der sich entfaltet, cooler effekt
beides nicht von mir aber mit d7 anwendbar
Angehängte Dateien
Dateityp: 7z particlesystem.7z (13,0 KB, 9x aufgerufen)
Dateityp: 7z samp69.7z (35,1 KB, 11x aufgerufen)

Geändert von Fukiszo (27. Jan 2018 um 21:10 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#39

AW: grafischer Scroll Text (StarWars o.ä.)

  Alt 27. Jan 2018, 21:45
Zitat:
ich denk mal das da irgendwo dein 0-wert beginnt)
Mein 0 wert bzw. die Position wo der path beginnt.

Zitat:
// ScrollOffset must be the same then Font size
ScrollOffset := UseSize * Length(Txt); //<< muss hinter UseSize nicht davor
Fonthöhe * länge des Textes.. in Zeilen gemessen (nicht die länge des strings)

bei einem Font mit einer höhe von 40 und einem Text mit 10 Zeilen ergibt das eine Top Position von der gesamt höhe des Panels plus 400.
es ist kein Minus wert also -400 weil meine schleife beim höchsten Index des übergebenen Textes beginnt.

pt.Y (Single = TGPRectF - F steht für single) wäre dann
ScrollOffset + rc.Bottom - ((Length(Txt) - 1) - IntI) * UseSize
pt.X berechnet sich aus der weite des Panels minus der Text Weite der aktuellen Zeile dividiert durch 2 (Zentriert im Panel).


gruss

Geändert von EWeiss (27. Jan 2018 um 22:07 Uhr)
  Mit Zitat antworten Zitat
Fukiszo
(Gast)

n/a Beiträge
 
#40

AW: grafischer Scroll Text (StarWars o.ä.)

  Alt 27. Jan 2018, 22:33
Ich hab's fast hinbekommen, jetzt nurnoch das pWide korrigieren und es funktioniert wie gewünscht.
Anbei mein Fortschritt in Chinesisch/Japanisch

edit:
und danke nochmal für die erläuterungen, das half mir irgendwie, man siehts ja per bild beweis
Miniaturansicht angehängter Grafiken
form1.jpg  

Geändert von Fukiszo (27. Jan 2018 um 22:36 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 06:45 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