Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 05, 2025 10:32

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di Sep 30, 2008 21:38 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
HI,

ich hab mal wieder ein Problem mit der TextSuite von LossyEx. Und zwar hab ich nach dem vergrößern, bzw. verkleinern der Fontgröße komische schwarze Punkte unter den Buchstaben. Das komische daran ist, das ich den Font komplet neu erzeug wenn ich die Größe ändern will und wenn ich ihn das 1. mal erzeuge, dann hab ich die Fehler ja auch nich?!

Code:
  1. procedure TglEdit.SetHeight(Height: Single);
  2. begin
  3.   fHeight := Height;
  4.  
  5.   tsContextBind(fFontContextID);                                        //ContextID binden
  6.   tsFontDestroy(fFont);                                                 //FontID freigeben
  7.  
  8.   //Neu erzeugen (mit angepasster Größe)
  9.   tsSetParameteri(TS_RENDERER, TS_RENDERER_OPENGL); CheckError;         //Paramter setzten
  10.   tsSetParameteri(TS_CREATOR, TS_CREATOR_GDI); CheckError;              //Paramter setzten
  11.   tsFontCreateCreator(pAnsiChar(ExtractFilePath(Application.ExeName)+'data\comic.ttf'),
  12.                       Round(0.75*fHeight),
  13.                       TS_STYLE_NORMAL,
  14.                       TS_DEFAULT,
  15.                       TS_DEFAULT,
  16.                       @fFont); CheckError; //Font erzeugen
  17.   tsPostAddShadow4f(1,0,0,1,1,1,0);  
  18. end;


Das vergrößern/verkleinern brauch ich hauptsächlich wenn das Fenster vergrößert/verkleinert wird.
Im Anhang is n Bild (vorher/nacher) .

MfG Bergmann.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 01, 2008 06:34 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Moin,

jetzt gehts auf einma. kein plan was da los war?!
das thema kann ja gelöscht werden wenn's stört^^

MfG Bergmann.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 01, 2008 08:39 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Zitat:
jetzt gehts auf einma. kein plan was da los war?!
das thema kann ja gelöscht werden wenn's stört^^

Na ja. Solche Effekte sind nie schön. Auch wenn sie nur einmalig sind. Vor allem dann, wenn die eigentlich nie auftreten sollten. Denn so etwas kann auch bedeuten, dass meine Speicherverwaltung fehlerhaft ist oder irgendwelche anderen Defekte vorliegen. So was sollte man nur selten als Seiteneffekte abtun. Und nicht nur bei meiner Bibliothek. ;)


In diesem Fall kann der Effekt aber 2 Gründe haben.
1) Du hast eine ATI Grafikkarte mit einem Treiber in den Versionen 7.9 - 8.4. Dann handelt es sich um einen Fehler im Treiber der nur bei bestimmten Auflösungen auftritt. Da stimmt etwas mit der Texturfilterung nicht. Wenn du die Schriften nicht vergrößern willst, dann kann man die Filterung auch deaktivieren. Dann würds auch okay aussehen.

2) Du veränderst die Größe der Darstellung mit glScale. Dann wird die Textur gefiltert und es kommt auch zu solchen Verläufen. Dafür gibt es bisher nur einen Workaround aber noch keine richtige Lösung. Wobei eine solche Lösung sich aber wohl auch auf den ersten Fall auswirken würde.

Ich würde aber fast mal auf das Erste tippen, denn für eine Größenveränderung sind die Kanten der Buchstaben noch zu scharf. ;) Wobei der Fehler bei dir aber stärker ausgeprägt zu seien scheint als er das bei mir war. Alternativ kannst du auch mal das SimpleBlock Beispiel aufmachen (oder ein anderes 2D Beispiel ohne PostProcessors) und dort mittels der Tastatur die Größe des Fensters Pixelweise verändern. Im Systemmenü auf "Größe ändern" und dann mit STRG + Cursortasten die Größe anpassen. Bei einigen Auflösungen sollte dann so etwas auch sichtbar sein. Wenn du die Breite veränderst können solche Striche auch auf der rechten Seite der Buchstaben entstehen. Bzw bei der Höhe dann unterhalb.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 01, 2008 20:40 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
HI,

hab keine ATI (XFX GeForce 7800GTX XXX + Treiber 175.19). Und die Größe änder ich wie oben beschrieben, ohne glScale. Ich hatte es vorher mit glScale gemacht und mit dann aber die Lösung gesucht, weil ich eben die Fehler hatte. Aber die Fehler waren nich weg. Vlt. hatte ich noch irgendwo was geändert, kann das jetzt nich mehrt so gernau nachvollziehen, da ich mich zwischendurch um ein anderes Problem gekümmert hab.

MfG Bergmann.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 02, 2008 08:10 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Okay. Dann können wir den ATI Bug wohl vermutlich ausschließen. ;)

Was ich noch vergessen hatte. Das Ganze kann auch durch glOrtho ausgelöst werden. Wenn man nicht 100%tig die richtige Auflösung (ClientWidth und ClientHeight bei Fenstern mit Rahmen) eingestellt hat, dann kommt das einem glScale gleich.

Bzw. das Problem muss auch nicht unbedingt immer auftreten sondern kommt darauf an was sich sonst noch so in der Textur befindet. Wenn sich zum Beispiel unterhalb deiner Zeichen nie Zeichen in der Textur befunden haben, dann wird das Problem auch nicht auftreten. Dabei spielt es nur eine Rolle ob die Texel (Pixel der Textur) jemals belegt waren.

Du solltest also mal drauf achten ob es wieder kommt. Besonders dann wenn du auch noch andere Fonts erstellst.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 14 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 15 Queries | GZIP : On ]