TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
Delphi 7: Jak zmienić ikonkę na przycisku (TToolButton)? , Dexter 13/01/06 08:54 Jak w temacie...Komisarz, Blimek, Bart - nie odpowiadajcie w wątkach, które zakładam.
Odpowiedzi oleję.
THX! - Na kilka sposobów , exmac 13/01/06 09:15
1. Zmienić wartość właściwości ImageIndex
2. Zmienić wartość właściwości Enabled
3. Zmienić wartość właściwości Down
4. Zmienić wartość właściwości Style
5. Zmienić wartość właściwości Parent.Images
6. Zmienić wartość własciwości Parent.Images.Picture
Można by tak jeszcze długo. Spróbuj zadawać pytania bardziej konkretnie....- OK, chodziło mi o Image Index, ale... , Dexter 13/01/06 09:31
Jak dodać do niego WŁASNĄ ikonkę?Komisarz, Blimek, Bart - nie odpowiadajcie w wątkach, które zakładam.
Odpowiedzi oleję.
THX! - ToolBar na którym umieszczony masz ToolButton , JOTEM 13/01/06 11:10
jest połaczony z ImageList. Dodaj ikonę do imagelist i ustaw jej numer jako ImageIndex buttona.Poryjemy..zrobaczymy - No jasne, ale lamer ze mnie. To kuję żelazo póki gorące... , Dexter 13/01/06 11:36
A wiesz może jak obrócić TImage?
Tworzę sobie przeglądarke graficzną i na razie otwiera tylko standardziki, czyli jpg, bmp, ico etc.
mam 2 główne problemy do rozwiązania:
-. otwieranie tifów
-. obracanie obrazków co 90st.
Masz jakies rady?Komisarz, Blimek, Bart - nie odpowiadajcie w wątkach, które zakładam.
Odpowiedzi oleję.
THX! - Co do tifów , JOTEM 13/01/06 12:46
to ja używam pakietu (darmowego) tiff2bmp. Poszukaj w sieci. W stosowaniu prosty jak obręcz.
Co do obracania, to po pierwsze, po wczytaniu wszystkie formaty konwertowałbym do bmp. I dopiero wtedy zapisać do TImage. Zasadniczo nie myśl więc o obracaniu TImage, tylko o obracaniu bitmapy (image.picture.bitmap), która w nim jest. Zaś obrócić RĘCZNIE bitmapę to zadanie dosyć trywialne. Korzystając z właściwości scanline bitmapy będzie wystarczająco szybkie nawet dla wymagających.
obracaniuPoryjemy..zrobaczymy
- No jakby Ci to powiedzieć... , Dexter 13/01/06 13:24
Niestety, to moje początki w Delphi... I ta "obręcz" trochę mnie przerosła...
Możesz rzucić na to okiem:
http://rapidshare.de/..._2006_01_13_13_18.rar.html
Wszelka krytyka mile widziana...Komisarz, Blimek, Bart - nie odpowiadajcie w wątkach, które zakładam.
Odpowiedzi oleję.
THX! - Fak, miało byc pod postem JOTEMA... , Dexter 13/01/06 13:24
123Komisarz, Blimek, Bart - nie odpowiadajcie w wątkach, które zakładam.
Odpowiedzi oleję.
THX! - Zerkam wlasnie , JOTEM 13/01/06 15:03
poczekajPoryjemy..zrobaczymy - No i zerknąłem , JOTEM 13/01/06 16:28
Hmmm, przed Tobą jeszcze dużo więcej niż za Tobą. To tak na wstępie.
A tak bardziej konkretnie:
1. Generacja listy plików - ręczna za pomocą np. TStringgrida zamiast FileListBox'a. Do listy dajesz wtedy tylko pliki, które obsługujesz.
2. Jak stosujesz ActionList (a warto) to już konsekwentnie do wszystkiego, a nie jedno z gruszki, drugie z pietruszki.
3. W kodzie więcej własnych procedur (metod), bardziej blokowy niech ten program będzie.
4. Tak jak wspominałem, oprzyj się na bitmapie, nie stosuj raczej Image do uniwersalnego wczytywania, a lepiej napisz procedury do wczytywania do bitmapy wymaganych formatów - zaczynając od bmp, gif, jpeg, tif itp.
Taki maksymalnie uproszczony (trywialny) kod ładujacy do bitmapy:
function LoadFromFile(FN:String;B:Graphics.TBitmap) : integer;
var FType:String;
G:TGraphic;
begin
result:=0;
FType:=UpperCase(ExtractFileExt(FN));
G := nil;
try
if FType='.BMP' then
begin
B.LoadFromFile(FN);
end;
if FType='.JPG' then
begin
G:= TJPEGImage.Create;
G.LoadFromFile(FN);
B.Assign(G);
end;
if FType='.TIF' then
begin
LoadTiffFromFile(FN,B);
end;
result:=1;
finally
if assigned(G) then G.Free;
end;
end;
a wywołujesz:
LoadFromFile(PicFile, Image1.Picture.Bitmap);
LoadTiffFromFile jest procedurą z Tiff2Bmp.
Jakbyś stosował ten pakiet, o którym mówiłem (tiff2bmp, to poszukaj wersji do delphi 6 lub 7, wersja którą mam ma błąd, jakby Twoja też się wysypywała przy wczytywaniu, to daj kiedyś znać na maila, powiem Ci gdzie 3 linijki dopisać naprawiające błąd.
5. Obracasz Image1.Picture.Bitmap. Poczytaj o scanline przy bitmapie i punkt po punkcie ją po prostu ręcznie obróć.
A już na pewno zmień
Image1.Picture.LoadFromFile(PicFile);
FullScreen.Image1.Picture.LoadFromFile(PicFile);
na
Image1.Picture.LoadFromFile(PicFile);
FullScreen.Image1.Picture.Assign(Image1.Picture);
5. Docelowo zmień też sposób wyświetlania - TImage ma trochę wad. To jednak w dosyć dalekiej przyszłości - jak nauczysz się tworzyć własne komponenty i poznasz niuanse Windowsa.
Jaki jest ogólny cel tego projektu? Jeśli edukacyjny, to bardzo dobrze, popieram w całości, jak komercyjny, to czeka Cię jeszcze wiele wersji tego programu w miarę jak będziesz zdobywał wiedzę i samemu znajdował elementy do poprawy ;-).Poryjemy..zrobaczymy - Dzięki. , Dexter 16/01/06 08:49
Popracuję nad tym.
Wiem, że to bida z nędzą, ale to mój pierwszy (!) programik w delphi, nie licząc takich z podręcznika ;-)
Cel projektu? Jak najbardziej hobbystyczny. Zero komercji. Nie jest to też na zaliczenie/egzamin etc. Ale może, jak to juz będzie wersja np. 2950-ta, może ktoś da za to piwo ;-0
Dzięki za pomoc (choć na razie musze ten temat odstawić, inne rzeczy mam na głowie)..
Dzięki!Komisarz, Blimek, Bart - nie odpowiadajcie w wątkach, które zakładam.
Odpowiedzi oleję.
THX!
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|