jestem daltonistą

0

pomalowałem canvas imaga1 poniższą procedurą :

Image1.Canvas.Brush.Color := clblack;
 Image1.Canvas.Brush.style := bsSolid;
 Image1.Canvas.FloodFill(5, 5, clblack,  fsBorder);

Image1.Canvas.Brush.Color := clred;
Image1.Canvas.Brush.style := bsBDiagonal;
Image1.Canvas.FloodFill(5, 5, clblack, fsSurface);

I tu niespodzianka:
<font color="blue">na ekranie pojawiło się pełno niebieskiego koloru.</span>
Jakim cudem ?

[dopisane]
Wolverine ,masz czerwone kreski na czarnym tle ???
Bo u mnie są ciemno czerwone kreski na jasno niebieskim tle !

0

U mnie jest OK :-0

0

I tu niespodzianka:
<font color="blue">na ekranie pojawiło się pełno niebieskiego koloru.</span>
Jakim cudem ?

  1. Rysujesz po TImage, a nie po TPaintBox, wiec zapewne ladujesz wczesniej obrazek. Jezeli ladujesz obrazek, to jest prawdopodobienstwo, ze ladujesz obrazek z paleta i kolor o nr 0 (domyslnie czarny) mogl byc zastapiony przez kolor niebieski i dlatego masz taki schemat kolorow. Mozliwe jest tez, ze masz ustawione inny PixelFormat niz pf24bit.
  2. Moze gdzies w programie masz type clBlack = clBlue;
  3. Moze monitor sie zepsul? :>
  4. A moze jednak do okulisty powinienes pojsc ;)
0

U mnie również OK. Może masz zrąbany monitor albo kartę graficzną.

0
  1. Rysujesz po TImage, a nie po TPaintBox, wiec zapewne ladujesz wczesniej obrazek.

Nie wstawiam wcześniej obrazka - Od razu rysuje po image.

Mozliwe jest tez, ze masz ustawione inny PixelFormat niz pf25bit.

Tego nie wiem. Jak to sprawdzić?

  1. Moze gdzies w programie masz type clBlack = clBlue;

Nie zamieniałem nigdzie kolorow. Wrzucilem na formę button1 i mage1 , pod on click buttona dalem ten powyższy kod i po naciśnięciu pokazuje sie w image1 tło - <font color="darkblue">UMIEŚCIŁEM JE W AVATAR , patrz obok ten jasno niebieski.</span>

  1. Moze monitor sie zepsul? :>
  2. A moze jednak do okulisty powinienes pojsc ;)

Te dwie rzeczy wykluczyłem - bo nic na to nie wskazuje. :-)

Mam prośbę - moglibyście opisać ( lub pokazać) jaki obrazek otrzymaliście?

<font color="red">dopisane:</span>
Vogel, co masz na myśli ?
...cały kod jaki jest to ten u góry.

0

A Pen.Color ma coś do powiedzenia tutaj?

<font color="red">dopisane</span>
spróbuj pozmieniać Pen.Color i popatrz na efekty...

0

Mam prośbę - moglibyście opisać ( lub pokazać) jaki obrazek otrzymaliście?

  1. Odpaliłem moje kofane D6PE
  2. Wstawiłem TButton i TImage
  3. Dwuklikłem w buttona i wkleiłem te 6 linijek magicznego kodu
  4. Wynik http://www.sheitar.iglu.cz/gfx_site/wynik.gif
  5. Wsio jest ok :]
0

Tego nie wiem. Jak to sprawdzić?

Jezeli nie ladujesz wczesniej obrazu to nie ma to znaczenia.

Mam prośbę - moglibyście opisać ( lub pokazać) jaki obrazek otrzymaliście?

Taki sam jak u Sheitar'a;

Proponuje sprobowac rysowac na TPaintBox. Moze tam sie ten blad nie powtarza. A skoro tak, to moze jakis komponent doinstalowales, ktory "podrasowal" TImage.

0
  1. Odpaliłem moje kofane D6PE
  2. Wstawiłem TButton i TImage
  3. Dwuklikłem w buttona i wkleiłem te 6 linijek magicznego kodu

Ale checa !!!!!!!
Zrobiłem wszystko tak jak Wy , a wynik mam jak w avatar.
Dodatkowo jak w 4 linijce zmieniam z clred na :
clGreen - to pojawia się kolor różowy
clYellow - to pojawia się kolor granatowy
clBlue - to pojawia się kolor żółty
clAqua (ten co jest na avatar) - to pojawia się czerwony
clFuchsia (różowy) - to pojawia się zielony

Czyli kolory przestawiły się parami na odwrót.
JAKIŚ KOSMOS !!!!

Acha, od czasu ostatniej instalacji delphi (De7PE) nie instalowałem żadnego komponentu.

POMOCY , zaczynam wierzyć w złośliwość przedmiotów martwych [stuk]

0

Kiedyś także się z tym spotkałem, ale to było na uczelni i olałem. Tylko że wtedy używałem DXDraw zamiast image'a (więc to nie image'a wina, coś kopokane jak myślę w domyślnych ustawieniach windowsa... hmm gdzie win trzyma paletę kolorów ?).

//po chwili zastanowienia... wygląda na to że system raz odczytuje kolor tak jak to jest w bmp, czyli BGR, a raz normalnie RGB..
// mam przeczucie że to błąd w jakimś dll'u z DX'a odpowiedzialnym za szybkie czytanie bitmap
// spróbuj zainstalować najowszą wersję.

0

sory że dręcze Was tym tematem , ale zaintrygowało mnie to - tymbardziej że nigdy nie miałem problemów z kolorami w Win , więc zostawiam system jako ostateczność.

Analizując dalej sytuacje .....
Gdy daje <font color="darkblue">tylko</span> pierwszą część kodu:

    Image1.Canvas.Brush.Color := clblack;   // TUTAJ ZMIENIAM
    Image1.Canvas.Brush.style := bsSolid;
    Image1.Canvas.FloodFill(5, 5, clblack,  fsBorder);

...to nie mam żadnego problemu z kolarami - jest tak jak powinno być (clblack - czarny ; clred - czerwony , itd).
Ale gdy daje pod buttona <font color="darkblue">tylko</span> drugą część kodu:

   Image1.Canvas.Brush.Color := clblue;
  Image1.Canvas.Brush.style := bsBDiagonal;
  Image1.Canvas.FloodFill(5, 5, clwhite, fsSurface);     {tu musiałem dać biały, bo taki jest kolor canvas gdy nic nie zostało na nim narysowane} 

...to kolory zamieniają się błędnie - wg schematu który podawałem wcześniej.
Wygląda to więc trochę tak jakby delphi nie radził sobie z zastosowanym stylem wypełniania bsBDiagonal.

0

Czyli kolory przestawiły się parami na odwrót.
JAKIŚ KOSMOS !!!!

Acha, od czasu ostatniej instalacji delphi (De7PE) nie instalowałem żadnego komponentu.

POMOCY , zaczynam wierzyć w złośliwość przedmiotów martwych

VCL ma czasem takie przypały , przeżuć się na WinAPI! :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1