jakubkrol Posted August 8, 2010 Report Share Posted August 8, 2010 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 to comment Share on other sites More sharing options...
natanielcz Posted August 8, 2010 Report Share Posted August 8, 2010 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 to comment Share on other sites More sharing options...
jakubkrol Posted August 8, 2010 Author Report Share Posted August 8, 2010 @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 ;/ Link to comment Share on other sites More sharing options...
Adrian B. Posted August 8, 2010 Report Share Posted August 8, 2010 @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 to comment Share on other sites More sharing options...
jakubkrol Posted August 8, 2010 Author Report Share Posted August 8, 2010 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 to comment Share on other sites More sharing options...
Adrian B. Posted August 8, 2010 Report Share Posted August 8, 2010 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 to comment Share on other sites More sharing options...
jakubkrol Posted August 9, 2010 Author Report Share Posted August 9, 2010 @Adrian - i to wciąż będzie zbyt wolne... Myślałem jeszcze nad ScanPixel, może to co da... A właśnie nie do konca wiem, jak tą bitmapkę inaczej "zgarnąć", jeżeli jest nią PNG. Jednak ScanPixel działa na PNG, więc spróbuje może tak Link to comment Share on other sites More sharing options...
k_argo Posted October 20, 2010 Report Share Posted October 20, 2010 Canvas.Brush.Style := bsClear? Link to comment Share on other sites More sharing options...
jakubkrol Posted October 21, 2010 Author Report Share Posted October 21, 2010 @k_argo - to by było zbyt piękne... Wszystkie standardowe metody sprawdziłem - po prostu nie da rady, jak jest Windows 7 lub inna konfiguacja.. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.