Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi grafischer Scroll Text (StarWars o.ä.) (https://www.delphipraxis.net/194957-grafischer-scroll-text-starwars-o-ae.html)

Fukiszo 23. Jan 2018 13:12

AW: grafischer Scroll Text (StarWars o.ä.)
 
Update: mein erster selbstversuch ist im anhang oben enthalten, ohne externe referenzen gelesen zu haben (pre early lach aus version)

Danke für neue links zu diesem thema,
ich schaue da mal rein!

Grüße & nicht lachen ;-)

Fukiszo 23. Jan 2018 13:27

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

Zitat von EWeiss (Beitrag 1391749)

das entspricht EXAKT +viel viel mehr was ich meint!
ich hab dort zwar kein zugang zu den dateien,
aber es wird ja auch im text etwas erklärt.

das foto schaut zumindest TOP aus!

danke und grüße

EWeiss 23. Jan 2018 14:18

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

ich hab dort zwar kein zugang zu den dateien
Der eigentliche Quelltext ist nur 5 K.

gruss

Fukiszo 23. Jan 2018 14:27

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

Zitat von EWeiss (Beitrag 1391780)
der anhang

hab mal reingeschnuppert, sieht mir nach jede menge gdi aus, aber lohnt sich auf jedenfall nach delphi zu portieren.
dem werde ich nachgehen, schaut sehr vielversprechend aus, danke!

EWeiss 23. Jan 2018 14:54

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

Zitat von Fukiszo (Beitrag 1391782)
Zitat:

Zitat von EWeiss (Beitrag 1391780)
Zitat:

der anhang

hab mal reingeschnuppert, sieht mir nach jede menge gdi aus, aber lohnt sich auf jedenfall nach delphi zu portieren.
dem werde ich nachgehen, schaut sehr vielversprechend aus, danke!

GDI+ ;)

gruss

Fukiszo 23. Jan 2018 15:08

AW: grafischer Scroll Text (StarWars o.ä.)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Luckie (Beitrag 1391707)
...meinem XP Usermanager: http://xpusermanager.de/

super smooth, null flickern, absolut resourcen freundlich, grandios & hut ab,
das werkzeug selbst sieht auch sehr gelungen aus!

da muss ich mich mal reinlesen wie's angestellt wurde um es mit dem "kippen & kleiner" werden zu vereinen.
schaut echt toll aus!

edit: ja, gdi+ (-;

Grüße!

ps: der scroll text ist ja drollig, siehe anhang:thumb:

Fukiszo 23. Jan 2018 20:48

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

Zitat von Whookie (Beitrag 1391736)
Hier mal schnell was zusammengeklicktes ...

du bist mir ja lustig, habs grad mal gestartet und yeah, das ist ja wie meins nur viel besser (smooth! flickerfrei! resource friendly!)

darf ich damit meine class aufpimpen?

grüße

Whookie 23. Jan 2018 21:32

AW: grafischer Scroll Text (StarWars o.ä.)
 
klar doch ;)

Fukiszo 23. Jan 2018 23:15

AW: grafischer Scroll Text (StarWars o.ä.)
 
Vielen Dank und wird gemacht.
Dank Selbstversuch und nachdem ich den Source von Whookie betrachtete,
war ich ja Ansatzweise auf dem richtigen Weg *freu*

Klar, pixel scrollen und nicht komplette zeile, das ist der ruckelfaktor.

Gibt es Nachteile wenn man es wie bei meinem Versuch per TImage anstelle TPaintBox darstellt?
Ich kenn mich da nicht so gut aus und würde gerne alle Blickwinkel betrachten.

Grüße

Fukiszo 25. Jan 2018 07:26

AW: grafischer Scroll Text (StarWars o.ä.)
 
nach etlichen selbstversuchen mich in die materie einzuarbeiten bin ich bei sowas hier gelandet.

vielleicht mag es ja jemand noch weiter verfeinern.
ist total unoptimiert und bestimmt fehlerbehaftet bis zum anschlag ;-)
cpu wird böse ausgelastet.

Delphi-Quellcode:
procedure StarWarsTrapez;
var
  xc,yc:Integer;
  orgCoord:TPoint;
  newTopEdge:Integer;
  startX,stopX:Real;
  mLeftSide:Real;
  screenZ,screenTopY:Integer;
  textY:Integer;
  mg1,mg2:Real;
  p1,r1,r2:TPoint;
  param:Real;
begin
  textY:=-30;
  mg1:=textY/(orgImg.Width/2+OrgImg.Height);
  mg2:=textY/(orgImg.Width/2);
  screenZ:=Round(newImg.Height/(mg1-mg2));
  screenTopY:=Round(mg1*screenZ);
  newTopEdge:=Round(newImg.Width*orgImg.Width/(orgImg.width/2+orgImg.Height)/2);
  mLeftSide:=(newTopEdge-newImg.Width)/2/newImg.Height;
  startX:=(newImg.Width-newTopEdge)/2;
  stopX:=newImg.Width-startX;
  p1.x:=orgImg.width div 2;
  p1.y:=textY;
  r1.x:=OrgImg.Height;
  r1.y:=0;
  r2.x:=screenZ;
  for yc:=1 to newimg.height do begin
    startX:=startX+mLeftSide;
    stopX:=stopX-mLeftSide;
    r2.y:=screenTopY-yc;
    param:=(p1.y*r2.x-p1.x*r2.y)/(r1.x*r2.y-r1.y*r2.x);
    OrgCoord.Y:=OrgImg.Height-Round(OrgImg.Height*param);
    for xc:=Round(startX) to Round(stopX) do begin
      orgCoord.x:=Round((xc-startX)/(stopx-startx)*orgImg.width);
      newImg.canvas.pixels[xc,yc]:=orgImg.canvas.pixels[orgCoord.x,orgCoord.y];
    end;
  end;
end;
momentan wird bildA zu bildB mit einem trapez effekt umgewandelt.
wie ich das mit laufschrift hinbekommen soll weiß ich noch nicht, aber ich geb nicht auf ;)

Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:57 Uhr.
Seite 2 von 5     12 34     Letzte »    

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