Onko olemassa mitään keinoa millä saisi talletettua bmp-kuvan ikoni muotoon?
Olen tekemässä ohjelmaa mikä piirtää kuvia 32x32 alueelle käyttäen canvas.pixels käskyä, mutta se toimii vain bittikarttoissa.
Muuta tiedosto pääte .ico muotoon :P .... se pitäisi (ihme kyllä) toimia.... siis ainakin jos mä teen ikonin niin teen eka bmp kuvan ja muutan vaan päätteen niin saan siitä toimivan ikonin.
Noin minäkin ensin luulin, mutta jos avaa kyseisen ikonin esm. Irfan viewillä, niin tulee ilmoitus että se on bmp väärällä päätteellä.
Ja olisi hyvä jos saisi käytettyä maskia, ainakin sen verran ettei ikonissa olisi yhtään läpinäkyvää pistettä.
Tiedoston nimen vaihtaminen ei tietystikään riitä, sillä BMP- ja ICO-tiedostojen rakenne on sentään eri. Jos muu ei auta, niin aina on tietenkin mahdollista ottaa selvää Windowsin kuvakeformaatista ja kirjoittaa ohjelma sen pohjalta. Mutta varmastikin Delphille on olemassa jokin valmis lisäkomponentti, jolla kuvakkeiden tallennus on helposti mahdollista. Itse en valitettavasti tunne tarkemmin asiaa.
Jos käytät TImage-komponenttia, niin laita siihen päälle Icon-property. Siiten voit ladata siihen ikonin / tallentaa kuvan ikonina (streamiin, ainoastaan - harmi).
// Add these units to your uses-section: // Folgende units hinzufügen: uses Graphics, Controls { Creates an TIcon object from a TBitmap. Handy for dynamically updating your application's icon. I use it often to update my application's tray icon. Erzeugt ein TIcon aus einem TBitmap Objekt. Es ist nützlich, um das Icon der Applikation dynamisch zu verändern. } function CreateIconFromBitmap(Bitmap: TBitmap; TransparentColor: TColor): TIcon; begin with TImageList.CreateSize(Bitmap.Width, Bitmap.Height) do begin try AllocBy := 1; AddMasked(Bitmap, TransparentColor); Result := TIcon.Create; try GetIcon(0, Result); except Result.Free; raise; end; finally Free; end; end; end;
Tämmönen löyty:
http://www.swissdelphicenter.ch/en/showcode.php?
En ole ehtinyt kokeilla, mutta uskoisin toimivan.
Toimihan se!
Tässä olisi nyt ohjelmani demo-versio:
http://www.freewebs.com/ezuli/seka/Eikoni.zip
Olisi hyvä jos antaisitte kommentteja.
Aihe on jo aika vanha, joten et voi enää vastata siihen.