Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Autor | Správa |
---|
Registrovaný: 25.07.08 Prihlásený: 06.04.10 Príspevky: 56 Témy: 21 | 21 |
prosim Vam,
potreboval by som prekonvertovat GIF obrazok do BMP alebo JPG...
resp...existuje nejaka kniznica, ktora dokaze pracovat s GIF ??? zatial som totiz nic nenasiel pouzitelne...
(v Delphi)
|
|
Registrovaný: 11.01.09 Prihlásený: 01.12.24 Príspevky: 1395 Témy: 10 | 10 Bydlisko: Hrinova |
Najjednoduchšie to bude pomocou tohto unitu:
Kód: uses GifImage;
...
procedure ConvertBMP2GIF; var bmp: TBitmap; gif: TGIFImage; begin gif := TGifImage.Create; try bmp := TBitmap.Create; try gif.LoadFromFile('gif_obrazok.gif'); bmp.Assign(gif); finally gif.Free; end; bmp.SaveToFile('prerobena_bitmapa.bmp'); finally bmp.Free; end; end;
procedure TForm1.Button1Click(Sender: TObject); begin
ConvertBMP2GIF;
end;
Bitmapa sa dá taktiež jednoducho prerobiť na JPG
|
|
Registrovaný: 25.07.08 Prihlásený: 06.04.10 Príspevky: 56 Témy: 21 | 21 |
no vyborne...
len otazocka :
gif: TGIFImage; - TGIFImage je trieda uz v Delphi standartne (ako bitmapa, ci Jpeg, alebo na to treba nieco specialne ? )
|
|
Registrovaný: 11.01.09 Prihlásený: 01.12.24 Príspevky: 1395 Témy: 10 | 10 Bydlisko: Hrinova |
Táto trieda, nie je štandardná. Veď som napísal link, odkiaľ sa stiahne unit GifImage, kde je deklarovaná trieda TGifImage. Ak sa ti to nepodarí rozchodiť, tak napíš, s čím presne máš problém.
|
|
Registrovaný: 25.07.08 Prihlásený: 06.04.10 Príspevky: 56 Témy: 21 | 21 |
Fico píše: Táto trieda, nie je štandardná. Veď som napísal link, odkiaľ sa stiahne unit GifImage, kde je deklarovaná trieda TGifImage. Ak sa ti to nepodarí rozchodiť, tak napíš, s čím presne máš problém.
s tym som sa uz popasoval...teraz by mi trebalo "vyrezat" z bitmapy jej kusok...
napr. ked mam bmp rozmerov 1000 x 1100...tak chcem z nej iba 1000x1000, pricom z tych 1100 sa zreze 50 bodov z vrchu a 50 zo spodu a neviem najst nejaku spravnu Canvas funkciu co maju bmp, ktora by to zvladla,...
edit: zmaknute...dakujem
|
|
Registrovaný: 31.07.09 Prihlásený: 02.11.10 Príspevky: 27 Témy: 9 | 9 |
Fico píše: Táto trieda, nie je štandardná. Veď som napísal link, odkiaľ sa stiahne unit GifImage, kde je deklarovaná trieda TGifImage. Ak sa ti to nepodarí rozchodiť, tak napíš, s čím presne máš problém.
mám podobný problém s tým, že chcem importovať do TImage cez Picture *.gif, ktorý ma v sebe už obsiahnuté priehľadné vrstvy. Keďže to nejde, použil som *.bmp a transparent nastavil na true a obrázok sa zobrazil tak, ako by sa mal, ale ani tak to nepomohlo, pretože pri preklade a spusteni sa aj tak zobrazia priehľadné vrstvy.. hmm.. pomôžete?
|
|
Registrovaný: 11.01.09 Prihlásený: 01.12.24 Príspevky: 1395 Témy: 10 | 10 Bydlisko: Hrinova |
Tomu som trochu nepochopil - použil si *.bmp s nastavenou transparentnoťou, obrázok sa zobrazil správne bez transparentnej farby (to si zrejme myslel na forme ešte pred kompiláciou), ale pri spustení bola zobrazená aj transparentná farba? Ak áno, tak mi to príde trocha divné. Pod tým obrázkom nie je nejaký iný s rovnakou farbou?
|
|
Registrovaný: 31.07.09 Prihlásený: 02.11.10 Príspevky: 27 Témy: 9 | 9 |
Fico píše: Tomu som trochu nepochopil - použil si *.bmp s nastavenou transparentnoťou, obrázok sa zobrazil správne bez transparentnej farby (to si zrejme myslel na forme ešte pred kompiláciou), ale pri spustení bola zobrazená aj transparentná farba? Ak áno, tak mi to príde trocha divné. Pod tým obrázkom nie je nejaký iný s rovnakou farbou?
Do formulára som vložil Image. Vložil som cez vlastnoť Picture obrázok *.bmp. Obrázok je modrý kruh a okolo neho biele prostredie. Keď nastavím Imagu vlastnoť Transparency na True, tak biele okolie zmizne, ale pri preklade a spustení je biele okolie aj tak vidieť.
Ak to nebude možné pomocou vlastnosti Transparency, bude možné nejako nastaviť to, aby to akceptovalo gifka a nie len bitmapy a jpegecka? tym padom by vlastnosť Transparency už zrejme nemusela mať pre mňa význam.
_________________ Noli tangere circulos meos. |
|
Registrovaný: 11.01.09 Prihlásený: 01.12.24 Príspevky: 1395 Témy: 10 | 10 Bydlisko: Hrinova |
Hmm, trochu zvláštne, aby v dobe vývoja bolo niečo inak, ako v dobe behu programu. Ale OK. S tým ti nepomôžem, lebo toto sa mi ešte nikdy nestalo ale ohľadom toho gif. Skúšal si predchádzajúci postup?
|
|
Registrovaný: 31.07.09 Prihlásený: 02.11.10 Príspevky: 27 Témy: 9 | 9 |
Fico píše: Hmm, trochu zvláštne, aby v dobe vývoja bolo niečo inak, ako v dobe behu programu. Ale OK. S tým ti nepomôžem, lebo toto sa mi ešte nikdy nestalo ale ohľadom toho gif. Skúšal si predchádzajúci postup?
opýtam sa ako začiatočník, lebo som začiatočník: mám ten stiahnutý unit pripojiť k projektu a hore uvedený kód importovať do programu?
_________________ Noli tangere circulos meos. |
|
Registrovaný: 11.01.09 Prihlásený: 01.12.24 Príspevky: 1395 Témy: 10 | 10 Bydlisko: Hrinova |
V tom zipe sú 4 súbory, stačí z neho vytiahnuť iba GifImage.pas. Ten treba skopírovať napríklad do zložky s projektom (je v podstate jedno, kde ho skopíruješ, lebo potom po pripojení tohto unitu k projektu sa skompilovaný skopíruje automaticky). Potom v Delphi prostredí je niekde hore ikona Pripojiť jednotku (Add unit, alebo také niečo - neviem presne ako sa to volá, lebo ja používam Lazarus). Vyhľadáš ten unit a potvrdíš. Nakoniec v projekte pridaj do Uses GifImage a skús spustiť napríklad hore uvedený kód. Mal by si to v pohode rozchodiť.
|
|
Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
|