Ĺadny brzuch
Dzieńdobry. No więc potrzebuję wiedzieć, jak dzielić obrazek(szerokość i wysokość podzielna przez 16 pikseli) na kwadraciki
równe 16 na 16 pikseli, a następnie każdy obrazek dodać do ImageList.
Z góry na prawdę bardzo dziękuję.
Dzieńdobry. No więc potrzebuję wiedzieć, jak dzielić obrazek(szerokość i wysokość podzielna przez 16 pikseli) na kwadraciki
równe 16 na 16 pikseli, a następnie każdy obrazek dodać do ImageList.
Z góry na prawdę bardzo dziękuję.
Jeżeli jest podzielne to ustaw co trzeba w ImageList (popatrz po nazwach własności) i przy dodaniu obrazka powinien się sam podzielić na kawałki. Można też to zrobić odręcznie - pętelka z copyrect.
Jeżeli jest podzielne to ustaw co trzeba w ImageList (popatrz po nazwach własności) i przy dodaniu obrazka powinien się sam podzielić na kawałki. Można też to zrobić odręcznie - pętelka z copyrect.
Dzięki. Mam jeszcze jeden problem. Dlaczego to:
for i := 0 to ImageList_.count - 1 do begin item := tst.Items.Add; item.ImageIndex := i; item.Caption := IntToStr(i); end; tst.Items.EndUpdate;
nie działa(tst : TListView, item : TListItem)?
Albo nic się nie pokazuje, albo kilka takich samych obrazków.
Użytkownik szymekr12 edytował ten post 23 lipiec 2007, 13:13
a dales tst.items.beginUpdate(); ?
a dales tst.items.beginUpdate(); ?
Nie. Ale jak dałem to i tak nie wszystkie się pokazały.
Nie. Ale jak dałem to i tak nie wszystkie się pokazały.
Spróbuj przenieś to: tst.Items.EndUpdate; do pętli for
Spróbuj przenieś to: tst.Items.EndUpdate; do pętli for
Nieeee, to już całkiem bez sensu. Po to jest BeginUpdate i EndUptade, żeby zaoszczędzić procka na przemalowywanie za każdym razem i zrobić to raz na koniec. Na pewno lista z obrazkami jest dobrze załadowana? Przejedź ją pętlą i wyświetl gdzieś i zobacz czy się zgadzają obrazki z tym czego oczekujesz...
Na pewno lista z obrazkami jest dobrze załadowana? Przejedź ją pętlą i wyświetl gdzieś i zobacz czy się zgadzają obrazki z tym czego oczekujesz...
Dziękuję. Dałem
ShowMessage(IntToStr(imagelist.Count));
Dało to mi 16, tak więc obrazek się nie ładuje do końca. Plik jest chyba po prostu za duży(256x7952pikseli) i gdy go dodaję odrazu z
Delphi, to wyskakuje mi "Out of system resources."(Mam za mało pamięci?? 512MB to chyba dość dużo). No dobra. Dałem mniejszy(480x256),
bezpośrednio z Delphi się ładuje, ale jak dodaję go we włączonym programie to nie działa(pierwsze 30). Chciałem przesłać kod źródłowy programu,
ale się zacina.
Dziękuję. Dałem
ShowMessage(IntToStr(imagelist.Count));
Dało to mi 16, tak więc obrazek się nie ładuje do końca. Plik jest chyba po prostu za duży(256x7952pikseli) i gdy go dodaję odrazu z
Delphi, to wyskakuje mi "Out of system resources."(Mam za mało pamięci?? 512MB to chyba dość dużo). No dobra. Dałem mniejszy(480x256),
bezpośrednio z Delphi się ładuje, ale jak dodaję go we włączonym programie to nie działa(pierwsze 30). Chciałem przesłać kod źródłowy programu,
ale się zacina.
512 MB to pewnie za dużo do przerobienia. Musiałbyś pewnie zwiększyć rozmiar pamięci programu (w fpc kiedyś umiałem, ale w delphi nie potrzebowałem jak dotąd ;)). 30 to jest limit? Sprawdź dla obrazka, który powinien być podzielony np. na 32. A kod daj na jakiegoś pastebina z kolorowaniem :).
A kod daj na jakiegoś pastebina z kolorowaniem :).
Co to jest
pastebin ??
Musiałbyś pewnie zwiększyć rozmiar pamięci programu
Chyba to się wchodzi na "Project Options", zakładka "Linker" i tam coś z "Memory size". Przestawiałem "Max stacksize" oraz
"Image base", ale nic z tego.
Użytkownik szymekr12 edytował ten post 21 lipiec 2007, 21:13
Co to jest pastebin ??
A google użyć to nie łaska? :>
2 link: http://pastebin.ca/
A google użyć to nie łaska? :>
2 link: http://pastebin.ca/
Sorry.
/POPRAWKA:
Sorry, but the file you sent has more than 10% binary characters in it. We're guessing that means it is a binary file, and not a text file. It will be ignored.
HAHAHA :-(
Użytkownik szymekr12 edytował ten post 21 lipiec 2007, 21:19
Rotfl, co Ty tam wklejasz? oO
// @Down: to szczerze współczuję Ci. I (nie)znajomości angielskiego i nieumiejętności czytania ze zrozumieniem tego co się pisze nawet po polsku...
Użytkownik Ali240 edytował ten post 22 lipiec 2007, 20:27
Rotfl, co Ty tam wklejasz? oO
Plik zip z plikami projektu, a co niby innego :) ??
// @Down: to szczerze współczuję Ci. I (nie)znajomości angielskiego i nieumiejętności czytania ze zrozumieniem tego co się pisze nawet po polsku...
To o mnie??
Użytkownik szymekr12 edytował ten post 23 lipiec 2007, 13:15
To o mnie??
tak ;] do pastebin wkleja sie oczywiscie kod, nie cale archiwum... raz ze nikomu by sie nie chcialo sciagac i otwierac archiw tylko po to zeby zobaczyc twoj kod, a 2 ze jak juz chcesz to wrzuc je na jakis serwis do wysylania plikow, a nie kodu...
(...)do pastebin wkleja sie oczywiscie kod, nie cale archiwum...(...)
Po tym teksciku domyśliłem się.
nikomu by sie nie chcialo sciagac i otwierac archiw tylko po to zeby zobaczyc twoj kod.
Chciałem przesłać cały projekt. Jak chcecie kawałek kodu, to proszę:
(...) temp := TBitmap.Create; temp.LoadFromFile(ExtractFilePath(zapisz.FileName) + settings.titleset.Text); if temp.Width < 16 then begin if temp.Heiight < 32 then begin ShowMessage('Titleset o nazwie ' + settings.titleset.Text + ' nie może być załadowany.'); exit; end; end; tst.Clear; // tst to ListView titleset_.Clear; //titleset_ to ImageList titleset_.AddMasked(temp, settings.kolor.Color); //tu było ustawianie tekstu dla StatusBara ShowMessage(IntToStr(titleset_.Count)); // Wiadomo, do sprawdzania, ile obrazków się załadowało for i := 0 to titleset_.count - 1 do begin tst.Items.BeginUpdate; item := tst.Items.Add; item.ImageIndex := i; item.Caption := IntToStr(i); tst.Items.EndUpdate; end; (...)
Użytkownik szymekr12 edytował ten post 24 lipiec 2007, 18:49
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
równe 16 na 16 pikseli, a następnie każdy obrazek dodać do ImageList.
Z góry na prawdę bardzo dziękuję.
Dzieńdobry. No więc potrzebuję wiedzieć, jak dzielić obrazek(szerokość i wysokość podzielna przez 16 pikseli) na kwadraciki
równe 16 na 16 pikseli, a następnie każdy obrazek dodać do ImageList.
Z góry na prawdę bardzo dziękuję.
Jeżeli jest podzielne to ustaw co trzeba w ImageList (popatrz po nazwach własności) i przy dodaniu obrazka powinien się sam podzielić na kawałki. Można też to zrobić odręcznie - pętelka z copyrect.
Jeżeli jest podzielne to ustaw co trzeba w ImageList (popatrz po nazwach własności) i przy dodaniu obrazka powinien się sam podzielić na kawałki. Można też to zrobić odręcznie - pętelka z copyrect.
Dzięki. Mam jeszcze jeden problem. Dlaczego to:
for i := 0 to ImageList_.count - 1 do begin item := tst.Items.Add; item.ImageIndex := i; item.Caption := IntToStr(i); end; tst.Items.EndUpdate;
nie działa(tst : TListView, item : TListItem)?
Albo nic się nie pokazuje, albo kilka takich samych obrazków.
Użytkownik szymekr12 edytował ten post 23 lipiec 2007, 13:13
a dales tst.items.beginUpdate(); ?
a dales tst.items.beginUpdate(); ?
Nie. Ale jak dałem to i tak nie wszystkie się pokazały.
Nie. Ale jak dałem to i tak nie wszystkie się pokazały.
Spróbuj przenieś to: tst.Items.EndUpdate; do pętli for
Spróbuj przenieś to: tst.Items.EndUpdate; do pętli for
Nieeee, to już całkiem bez sensu. Po to jest BeginUpdate i EndUptade, żeby zaoszczędzić procka na przemalowywanie za każdym razem i zrobić to raz na koniec. Na pewno lista z obrazkami jest dobrze załadowana? Przejedź ją pętlą i wyświetl gdzieś i zobacz czy się zgadzają obrazki z tym czego oczekujesz...
Na pewno lista z obrazkami jest dobrze załadowana? Przejedź ją pętlą i wyświetl gdzieś i zobacz czy się zgadzają obrazki z tym czego oczekujesz...
Dziękuję. Dałem
ShowMessage(IntToStr(imagelist.Count));
Dało to mi 16, tak więc obrazek się nie ładuje do końca. Plik jest chyba po prostu za duży(256x7952pikseli) i gdy go dodaję odrazu z
Delphi, to wyskakuje mi "Out of system resources."(Mam za mało pamięci?? 512MB to chyba dość dużo). No dobra. Dałem mniejszy(480x256),
bezpośrednio z Delphi się ładuje, ale jak dodaję go we włączonym programie to nie działa(pierwsze 30). Chciałem przesłać kod źródłowy programu,
ale się zacina.
Dziękuję. Dałem
ShowMessage(IntToStr(imagelist.Count));
Dało to mi 16, tak więc obrazek się nie ładuje do końca. Plik jest chyba po prostu za duży(256x7952pikseli) i gdy go dodaję odrazu z
Delphi, to wyskakuje mi "Out of system resources."(Mam za mało pamięci?? 512MB to chyba dość dużo). No dobra. Dałem mniejszy(480x256),
bezpośrednio z Delphi się ładuje, ale jak dodaję go we włączonym programie to nie działa(pierwsze 30). Chciałem przesłać kod źródłowy programu,
ale się zacina.
512 MB to pewnie za dużo do przerobienia. Musiałbyś pewnie zwiększyć rozmiar pamięci programu (w fpc kiedyś umiałem, ale w delphi nie potrzebowałem jak dotąd ;)). 30 to jest limit? Sprawdź dla obrazka, który powinien być podzielony np. na 32. A kod daj na jakiegoś pastebina z kolorowaniem :).
A kod daj na jakiegoś pastebina z kolorowaniem :).
Co to jest
pastebin ??
Musiałbyś pewnie zwiększyć rozmiar pamięci programu
Chyba to się wchodzi na "Project Options", zakładka "Linker" i tam coś z "Memory size". Przestawiałem "Max stacksize" oraz
"Image base", ale nic z tego.
Użytkownik szymekr12 edytował ten post 21 lipiec 2007, 21:13
Co to jest pastebin ??
A google użyć to nie łaska? :>
2 link: http://pastebin.ca/
A google użyć to nie łaska? :>
2 link: http://pastebin.ca/
Sorry.
/POPRAWKA:
Sorry, but the file you sent has more than 10% binary characters in it. We're guessing that means it is a binary file, and not a text file. It will be ignored.
HAHAHA :-(
Użytkownik szymekr12 edytował ten post 21 lipiec 2007, 21:19
Rotfl, co Ty tam wklejasz? oO
// @Down: to szczerze współczuję Ci. I (nie)znajomości angielskiego i nieumiejętności czytania ze zrozumieniem tego co się pisze nawet po polsku...
Użytkownik Ali240 edytował ten post 22 lipiec 2007, 20:27
Rotfl, co Ty tam wklejasz? oO
Plik zip z plikami projektu, a co niby innego :) ??
// @Down: to szczerze współczuję Ci. I (nie)znajomości angielskiego i nieumiejętności czytania ze zrozumieniem tego co się pisze nawet po polsku...
To o mnie??
Użytkownik szymekr12 edytował ten post 23 lipiec 2007, 13:15
To o mnie??
tak ;] do pastebin wkleja sie oczywiscie kod, nie cale archiwum... raz ze nikomu by sie nie chcialo sciagac i otwierac archiw tylko po to zeby zobaczyc twoj kod, a 2 ze jak juz chcesz to wrzuc je na jakis serwis do wysylania plikow, a nie kodu...
(...)do pastebin wkleja sie oczywiscie kod, nie cale archiwum...(...)
Po tym teksciku domyśliłem się.
nikomu by sie nie chcialo sciagac i otwierac archiw tylko po to zeby zobaczyc twoj kod.
Chciałem przesłać cały projekt. Jak chcecie kawałek kodu, to proszę:
(...) temp := TBitmap.Create; temp.LoadFromFile(ExtractFilePath(zapisz.FileName) + settings.titleset.Text); if temp.Width < 16 then begin if temp.Heiight < 32 then begin ShowMessage('Titleset o nazwie ' + settings.titleset.Text + ' nie może być załadowany.'); exit; end; end; tst.Clear; // tst to ListView titleset_.Clear; //titleset_ to ImageList titleset_.AddMasked(temp, settings.kolor.Color); //tu było ustawianie tekstu dla StatusBara ShowMessage(IntToStr(titleset_.Count)); // Wiadomo, do sprawdzania, ile obrazków się załadowało for i := 0 to titleset_.count - 1 do begin tst.Items.BeginUpdate; item := tst.Items.Add; item.ImageIndex := i; item.Caption := IntToStr(i); tst.Items.EndUpdate; end; (...)
Użytkownik szymekr12 edytował ten post 24 lipiec 2007, 18:49