Skocz do zawartości

[Delphi] Malowanie przeźroczyste po canvasie :P


jakubkrol

Polecane posty

Witam serdecznie ;D

 

Mam pewien dosyć śmieszny problem. Chciałbym po prostu malować po canvasie, aby nie miał on tła. No ale problem jest taki, że tło MUSI być, bo tak już działa Canvas ;/

 

Ale może jednak znacie jakiś sposób, który byłby "zamiast" tego, czy coś ;>?

Ogólnie sytuacja jest taka, że mam image'a, w którym dynamicznie wczytuję obrazek PNG, a potem muszę po nim malować, więc może są jakieś inne możliwości ;>

Link do komentarza
Udostępnij na innych stronach

Witam serdecznie ;D

 

Mam pewien dosyć śmieszny problem. Chciałbym po prostu malować po canvasie, aby nie miał on tła. No ale problem jest taki, że tło MUSI być, bo tak już działa Canvas ;/

 

Ale może jednak znacie jakiś sposób, który byłby "zamiast" tego, czy coś ;>?

Ogólnie sytuacja jest taka, że mam image'a, w którym dynamicznie wczytuję obrazek PNG, a potem muszę po nim malować, więc może są jakieś inne możliwości ;>

 

w kodzie canvasa jest jakaś deklaracja koloru?

Link do komentarza
Udostępnij na innych stronach

@natanielcz - no niestety nie...

Tak to niestety wygląda, że wystarczy zrobić przykładowo:

Image1.Canvas.LineTo(100,100); i jest czarna linia z białym tłem ;/

 

 

Zamaluj tło kolorem,który znajduję się pod obrazkiem w wyniku czego będziesz miał efekt przeźroczystości lub zacznij manipulować TransparentColor'em ;)

Link do komentarza
Udostępnij na innych stronach

TransparentColor - niestety pod Sevenem to w ogóle nie działa.

 

A tło koloru nie rozumiem? Tło nie jest jednolite... To nie takie proste ;)

7

 

 

@edit:

 

 

Jeszcze w gwoli wyjaśnienia.. Zrobiłem funkcję CopyNotTransparent, dzięki której maluje sobie na tymczasowym canvasie, a potem pixel po pixelu nanosze to na PNG... Niestety PNG sobie z tym nie radzi, zresztą zbyt powoli to działa, więc wykluczone ;/

Link do komentarza
Udostępnij na innych stronach

TransparentColor - niestety pod Sevenem to w ogóle nie działa.

 

A tło koloru nie rozumiem? Tło nie jest jednolite... To nie takie proste ;)

7

@edit:

Jeszcze w gwoli wyjaśnienia.. Zrobiłem funkcję CopyNotTransparent, dzięki której maluje sobie na tymczasowym canvasie, a potem pixel po pixelu nanosze to na PNG... Niestety PNG sobie z tym nie radzi, zresztą zbyt powoli to działa, więc wykluczone ;/

 

ad(1) : Pixel po pixelu zawsze działa zbyt powoli ;)

 

 

Hm "pod Sevenem". Uzywam Delphi 7 na Windows 7 ^^ a więc sevenowo i u mnie działa wszystko należycie. :)

Ps. Można zrobić też tak .. Zgarniasz całą bitmapkę reprezentującą Formularz kopiujesz ją do twojego canvasa i po nim rysujesz ;)

Link do komentarza
Udostępnij na innych stronach

  • 2 months later...

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...