Degeim Skrevet 3. august 2005 Del Skrevet 3. august 2005 (endret) Dette er koden jeg bruker for å konvertere fra .bmp til .ico: Private Sub Convert(ByVal asBMPFilename As String, ByVal asICOFilename As String) Dim a As IPictureDisp Set a = LoadPicture(asBMPFilename) ImageList1.ListImages.Add Picture:=a Set a = ImageList1.ListImages(1).ExtractIcon On Error GoTo ErrHandler SavePicture a, asICOFilename ImageList1.ListImages.Remove (1) Exit Sub ErrHandler: ImageList1.ListImages.Remove (1) Select Case Err.Number Case 380 Err.Raise Err.Number, Err.Source, Err.Description & vbNewLine & "The bitmap may be too big to convert to an icon format" Case Else Err.Raise Err.Number, Err.Source, Err.Description End Select End Sub Er det på noen måte mulig å modifisere denne koden slik at alt som var hvitt i .bmp-filen nå blir transparent i .ico-filen? Endret 4. august 2005 av Degeim Lenke til kommentar
aadnk Skrevet 4. august 2005 Del Skrevet 4. august 2005 (endret) En benytter vanligvis to bilder for å få til en gjennomsiktighetseffekt - selve bildet samt en såkalt maske, eller via en gjennomsiktighetverdi - i 32-bit benyttes Alpha-verden (de siste 8 bitene av fargen) til akkurat dette formålet. Problemet er at SavePicture ikke kan lagre to ICO-bilder i samme fil, hvilket betyr at du enten må ty til API eller gjøre det hele manuelt, eksempelvis via følgende klasse: http://www.vbaccelerator.com/home/VB/Code/..._VB/article.asp Endret 4. august 2005 av aadnk Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå