no i mam problemy...
zrobiłem tak:
do Image1 wczytałem bitmapę o wysokości 1 piksela i szerokości 149 na niej są rożne kolory (149 różnych kolorów)
do Image2 wczytałem identyczną bitmapę tylko że w skali szarości (jest tam 149 szarych odpowiedników)
po wciśnięciu Button1tworzę tak jakby bazę kolorów w pliku colors.ini nazwą wartości jest kolor w skali szarości, a wartością jego kolorowy odpowiednik
mam w ten sposób plik ini w którym jest lista 149 czarno białych kolorów i ich 149 kolorowych odpowiedników
do Image3 wczytuję jakąś czarno białą bitmapę - dla testu te samą na podstawie której stworzyłem bazę kolorów
po wciśnięciu Button2 odczytuje pierwszy piksel Image3 (współrzędne [0][0]) szukam takiej nazwy wartości w pliku colors.ini i zmiennej kolor przypisuję kolorowy odpowiednik tego czarno białego piksela, a potem w ten pierwszy piksel wpisuję ten kolor z bazy
oto kod:
- Kod: Zaznacz cały
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int licznik;
for (licznik=0;licznik<149;++licznik) {
int kolor = Image1->Canvas->Pixels[licznik][0];
int czarny = Image2->Canvas->Pixels[licznik][0];
TIniFile *PlikIni = new TIniFile("colors.ini");
PlikIni->WriteInteger("KOLORUJ", czarny, kolor);
delete PlikIni;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int licznik;
for (licznik=0;licznik<149;++licznik) {
int czarny = Image3->Canvas->Pixels[licznik][0];
TIniFile *PlikIni = new TIniFile("colors.ini");
int kolor = PlikIni->ReadInteger("KOLORUJ", czarny, czarny);
delete PlikIni;
Image3->Canvas->Pixels[licznik][0] = kolor;
Application->ProcessMessages();
}
}
//---------------------------------------------------------------------------
coś robię nie tak bo grafika którą chcę pokolorować się zmienia ale wcale nie jest kolorowa
proszÄ™ o pomoc
PS fajny program banita, na razie nie potrzebny mi kod Twojego programu ale jak coś to się odezwę, dzięki