Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: schnellerer Zugriff auf Tbitmap

  Alt 7. Dez 2004, 21:14
Zitat von cumi:
Mal noch eine Frage. Was machst du eigentlich beruflich? Informatik ist nicht nur dein Hobby, oder? Ich bin immerwieder aufs neue erstaunt wie genau, dass du über all diese Dinge bescheid weisst.... Und hier gleich noch der absolut passende Test
Ich bin "beruflich" Student der Informatik. Allerdings hat dieses mit dem Thema hier nicht sehr viel zu tun - das ist eigentlich 100% privates Interesse und jahrelang aufkummuliertes (Halb-)Wissen

Zitat von cumi:
Jetzt bin ich gleich an einem Problem angelangt das eigentlich auch hierhinein gehört und zwar:
Ich habe zwei Farben (TColor32). Nun möchte ich einen Übergang von der einen in die andere berechnen. Ich nehme an, dass es hierfür von der GR32 auch Möglichkeiten gibt. Ich hab sie leider nur noch nicht gefunden
Das macht dir die G32 nicht ganz so einfach wie du es gerne hättest . Das Zauberwort heisst hier lineare Interpolation, und zum Mischen zweier Farben dürftest du hier in der DP auch einiges finden.
Allerdings bringt die G32 eine nette Routine mit, die das Mischen recht effizient (weil mit MMX) umsetzt: "Combine(X, Y, W: TColor32): TColor32"
Auszug aus der Hilfe:
Zitat:
Returns the color with components calculated as linear interpolation between X and Y colors. The W parameter, which sholuld be in [0..255] range, specifies the weight of the first color (X). The alpha channel is interpolated as well.
Wichtig ist dabei, dass du nachher die Prozedur "EMMS;" aufrufst bevor du wieder mit normalen Fließkommarechnungen anfängst, da sonst die CPU auf MMX geschaltet bleibt, und keine normalen FLOPs mehr berechnet.

Zitat von cumi:
Äh also das geht leider nicht weil ich immerwieder die Gröse ändere, also .Width und .Height neu setze (resize des Forms)...
Na dan ändere doch einfach die Größe . Dazu musst du das Bitmap ja nicht neu erstellen! (btw: TBitmap32.SetSize(X, Y) ist etwas effizienter als das einzelne Zuweisen an Width und Height.)

Zitat von cumi:
äh jo stimmt, so genau hab ichs nicht genommen Sagen wir einfach mal im Speicher
Oki

Zitat von cumi:
Zum Schluss möcht ich dir, Fabian, nochmals ganz herzlich danken für deine Geduld mir alle Fragen zu beantworten. Bin ich echt mega super froh Denn wenn ich das alles in Büchern oder im Netz zusammensuchen müsste würd ichs glaub ich gar nicht finden oder dann hätte ich ein halbes Jahr
Keine Ursache. Was meinst du wie viel Wissen ich diesem Forum schon zu verdanken hab .
Macht ja Spaß!

Cu,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat