Dá se s tím něco dělat? Popřípadě je možné tam nějak dostat průhledný GIF, díky.
Delphi - Image - Transparency u JPG
- Závit
- Začátečník

- Registrován: 06. lis 2003
- Bydliště: Jindřichův Hradec
- Kontaktovat uživatele:
Delphi - Image - Transparency u JPG
Chtěl bych se zeptat, jestli je nějak možné nastavit transaparency u jpg obrázků vložených do komponenty image. Pokud tam dám BMP, je vše ok, bílé plochy zmizí, ale JPG je vůči transaparency imunní 
Dá se s tím něco dělat? Popřípadě je možné tam nějak dostat průhledný GIF, díky.
Dá se s tím něco dělat? Popřípadě je možné tam nějak dostat průhledný GIF, díky.
- bubanek
- Středně pokročilý

- Registrován: 24. dub 2005
- Bydliště: D1
- jirik0
- Nováček

-
- Registrován: 16. črc 2005
- Bydliště: Kladno
Jednoduse to asi nepujde. Jak pisou v helpu
V C++ Builderu by to mohlo byt treba takhle
Takze jedine prevest TJPEGImage na TBitmap.Transparent has no effect unless the Picture property specifies a TBitmap object.
V C++ Builderu by to mohlo byt treba takhle
takze kdyz si to prepises do Delphi, tak by nemel byt problem.TJPEGImage *i;
i = new TJPEGImage();
i->LoadFromFile("c:\\temp\\3\\img.jpg");
Graphics::TBitmap *b;
b = new Graphics::TBitmap();
b->Width = i->Width;
b->Height = i->Height;
b->Canvas->Draw(0,0,i);
b->TransparentColor = clBlack;
b->Transparent = true;
Image1->Canvas->Draw(0,0,i);
delete i;
delete b;
- Axis
- Začátečník

-
- Registrován: 14. kvě 2004
- Závit
- Začátečník

- Registrován: 06. lis 2003
- Bydliště: Jindřichův Hradec
- Kontaktovat uživatele:
a myslíš, že BMP jo?bubanek píše:S Delphi sice moc zkušeností nemám,
ale JPG průsvitnej nikdy nebude....
jedna se o funkci delphi, komponenty Image - ktera zpruhledni ciste bile plochy (#FFFFFF), jedna se jen o zobrazeni, bohuzel jak rika jirik0, funguje to jen u bmp...
jirik0 - diky moc, ale ja v cecku neumim vubec nic, neznam operatory atd... kdybyste mi to nekdo napsal v object packalu byl bych moc rad, diky
- jirik0
- Nováček

-
- Registrován: 16. črc 2005
- Bydliště: Kladno
Takze v Delphi by to mohlo vypadatZávit píše: jirik0 - diky moc, ale ja v cecku neumim vubec nic, neznam operatory atd... kdybyste mi to nekdo napsal v object packalu byl bych moc rad, diky
a jeste musis do uses pridat jpegvar
b: Graphics.TBitmap;
i: TJPEGImage;
begin
i := TJPEGImage.Create;
i.LoadFromFile('C:\temp\3\img.jpg');
b :=Graphics.TBitmap.Create;
b.Width := i.Width;
b.Height := i.Height;
b.Canvas.Draw(0,0,i);
Image1.Canvas.Draw(0,0,b);
b.Destroy;
i.Destroy;
end;
- Závit
- Začátečník

- Registrován: 06. lis 2003
- Bydliště: Jindřichův Hradec
- Kontaktovat uživatele: