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

Aktuelle Zeit: Fr Jul 18, 2025 11:26

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



Ein neues Thema erstellen Auf das Thema antworten  [ 37 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 27, 2005 19:16 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
ohne mir irgendwas von deinem source angeschaut zu haben:

stretchblt und stretchdraw haben eine extrem schlechte qualität. die machen nur ne nearest neighbour interpolation. wenn du also noch irgendwas skalieren willst, bevor du es an OpenGL übergibst, empfehle ich die Graphics32-Library (http://www.g32.org)

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 28, 2005 18:10 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
daran wirds wohl liegen, hast bissl code für mich, hab keine lust mich da jetzt auch noch einarbeiten zu müssn :lol:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 28, 2005 19:45 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
mach ich doch gerne. war damals ne ziemliche pfriemelei, wenn man das prinzip verstanden hat gehts aber ganz leicht.

1. installieren. - dazu hab ich schon mal nen thread in der DP geschreiben: - den find ich jetzt gar nicht . :oops: solltest du aber hinkriegen, saugen, entpacken, als lib registrieren, entsprechendes designtimepackage regisitrieren.

2. hier n kleiner beispielcode, aus einem projekt übernommen:

Code:
  1.  
  2. uses graphics,math,GR32,types;  //types hab ich für TRect gebraucht und math für factor, ist also im prinzip nicht nötig.
  3.  
  4. function scale(src:TBitmap32;factor:real;Filter:TStretchFilter = sflinear):TBitMap32;
  5. var rdest,rsrc:TRect;
  6. begin
  7. result:=TBitMap32.Create;  //TBitMap32!
  8. result.StretchFilter:=filter;  //zum filter findet sich im helpfile etwas, am wichtigsten ist nur, dass er beim target gesetzt sein muss
  9.  
  10. rsrc:=rect(0,0,src.Width,src.Height);
  11. rdest:=rect(0,0,round(factor*src.Width),round(factor*src.Height));
  12.  
  13. result.Width:=rdest.Right;
  14. result.Height:=rdest.Bottom;
  15.  
  16. result.Draw(rdest,rsrc,src); //das ist die funktion.
  17. end;
  18.  

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 29, 2005 11:46 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
danke, muss es nur noch laden und das installieren hinbekommen (damit hab ich so immer meine probleme ^^)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 29, 2005 12:34 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
hab jetzt einfach alles in mein programm verzeichnis extrahiert, dann sollte es gehen :lol:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 29, 2005 12:38 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
wie mache ich jetzt aus meinem bitmap ein TBitmap32 und umgekehrt ?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 29, 2005 12:57 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
habs:
Code:
  1.  
  2. function ResizeBMP(src: TBitmap; w, h: integer): TBitMap;
  3. const
  4.   Filter: TStretchFilter = sflinear;
  5. var
  6.   rdest, rsrc: TRect;
  7.   src32, res32: TBitmap32;
  8. begin
  9.   src32 := TBitmap32.Create;
  10.   res32 := TBitMap32.Create;
  11.   result := TBitmap.Create;
  12.   try
  13.     src32.assign(src);  
  14.     res32.StretchFilter := filter;
  15.     rsrc := rect(0, 0, src.Width, src.Height);
  16.     rdest := rect(0, 0, w, h);
  17.     res32.Width := rdest.Right;
  18.     res32.Height := rdest.Bottom;
  19.     res32.Draw(rdest, rsrc, src32);
  20.     result.assign(res32);
  21.   finally
  22.     src32.free;
  23.     res32.free;
  24.   end;
  25. end;
  26.  

:D


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 37 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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.008s | 14 Queries | GZIP : On ]