Sto usando WindowsAPICodePack, ottenendo Thumbnail di ShellFile. Ma alcuni di quelli che sembrano icone generiche hanno uno sfondo nero. Quindi lo trasformo in una bitmap e imposta il nero come trasparente.Come rimuovere il colore di sfondo delle "icone" ShellFile, ma non delle miniature "reali"
Il problema è che quando si tratta di una miniatura di un'immagine, non dovrebbe farlo. Come posso distinguere una miniatura reale da un'icona?
Il mio codice:
ShellFile sf = ShellFile.FromFilePath(path);
Bitmap bm = sf.Thumbnail.MediumBitmap;
bm.MakeTransparent(Color.Black);
Grazie
difficile vedere come MakeTransparent può funzionare bene sulle icone che contengono il nero. Anyhoo, usa la proprietà FormatOption per chiedere prima solo un'icona. Se fallisce, chiedi una miniatura. –
@Hans a) Grazie. Esattamente quello che stavo cercando. (ma prima chiedo una miniatura - c'è sempre un'icona). b) C'è un altro modo per sbarazzarsi del colore di sfondo? Altrimenti, credo di poter sempre ottenere un'icona invece di una bitmap, ora che so che non sarà una miniatura. – ispiro