Szukam szybkiej procedury Gradianta.

0

Witam.

Ma ktoś może gotową procedurę takiego gradianta i jest w stanie mi udostępnić.

screenshot-20171227093310.png

Pozdrawiam
Janusz

0

No to i ja 3 grosze...
BTW - procedury GRADIANTA?
WTF?

abrakadaber napisał(a):

https://github.com/graphics32/graphics32
plus http://angusj.com/delphi/gr32_lines.php

To nie jest zgodne z TCanvas.
I to może być problem, ale nie musi - pytacz nie określił...

ewentualnie gotowiec http://www.delphiarea.com/products/delphi-components/gradient/

Są i inne "gotowce", np. GDI+ z ekstra wrapperem od Erika Bilsena:
www.bilsen.com/gdiplus
I to pewnie będzie najlepsze rozwiązanie (ponieważ bez problemu wspiera przezroczystość), patrząc na oczekiwany efekt...

Albo po prostu użyć tego, co jest dostępne w standardzie:
http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.GraphUtil.GradientFillCanvas

A jak to starsze Delphi niż 2005, to np. tak:
https://stackoverflow.com/questions/9532549/how-to-paint-2-gradients-together-on-a-canvas

0

Bardzie zależy mi zależy na szybkości działania. Takie malowanie po Canvas to już robię. Ale wydaje mi się że jest wolne i mało elegancie.
XE 10.2 Tokyo ( wersja free okrojona ).

0
dasej napisał(a):

Bardzie zależy mi zależy na szybkości działania.

To sprawdź, który jest szybszy. Podobno ten z DelphiArea jest szybki - nie wiem.
Na pewno GDI+ z AlphaBlending szybki nie będzie, w ogóle GDI+ szybki nie jest...

Takie malowanie po Canvas to już robię. Ale wydaje mi się że jest wolne i mało elegancie.

Ekhm... To ja chętnie się dowiem jak zrobić to bez malowania (wypełniania) po płótnie...

A dlaczego szybkość ma znaczenie?
Do czego to ma być używane?

XE 10.2 Tokyo ( wersja free okrojona ).

To, imho, akurat bez znaczenia.

0
wloochacz napisał(a):

Albo po prostu użyć tego, co jest dostępne w standardzie:
http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.GraphUtil.GradientFillCanvas

Standard nie wspiera gradientów diagonalnych. :P

dasej napisał(a):

Bardzie zależy mi zależy na szybkości działania.

Użyj sensownej biblioteki i/lub zastosuj back buffering, jeśli dana funkcja malująca nie jest efektywna.

Takie malowanie po Canvas to już robię. Ale wydaje mi się że jest wolne i mało elegancie.

Takie, czyli jakie? Nie pochwaliłeś się tym co masz.

1

TGradient v2.70 by Kambiz R. Khojasteh

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.