bmp2png konverter C#

Sekcia o programovaní, programovacích jazykoch...
Používateľov profilový obrázok
lacika
Pokročilý používateľ
Pokročilý používateľ
Príspevky: 4278
Dátum registrácie: Pi 11. Jan, 2008, 14:00
Bydlisko: KE

bmp2png konverter C#

Príspevok od používateľa lacika »

Z nazvu temy je jasne co robim..
ale na moju smolu, neviem vymazat bitmapu po konverzii, lebo mi vyskoci exception, file in use. :(
nejake napady ako to ochcat?

Kód: Vybrať všetko

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace bmp2png_converter
{
    class Convert
    {
        static void Main(string[] args)
            {
            DirectoryInfo d = new DirectoryInfo(@"D:\test\");
            FileInfo[] infos = d.GetFiles("*.bmp");
            foreach (FileInfo f in infos)
                {    
                // Load the image in BMP format.
                System.Drawing.Image image1 = System.Drawing.Image.FromFile(f.FullName);

                // Save the image in PNG format.
                image1.Save(@"D:\test\" + f.Name.Replace("bmp", "png"), System.Drawing.Imaging.ImageFormat.Png);

                // Delete BMP image.
                File.Delete(f.FullName); //exception - file in use.
                }
            }
        }
    }
Používateľov profilový obrázok
shiro
Pokročilý používateľ
Pokročilý používateľ
Príspevky: 8531
Dátum registrácie: Št 21. Dec, 2006, 02:00
Bydlisko: Banska Bystrica

Re: bmp2png konverter C#

Príspevok od používateľa shiro »

subor otvoris, ale uz ho nezavrres, resp neunloadnes z tej image1
zmena pripony suboru nieje konverzia....
Ryzen 7 3700X | SilentiumPC Fera 3 | Asrock X570M Pro4 | Patriot Viper 4 Blackout 16GB DDR4-3600 CL17 | Gainward RTX4060 Ti Pegasus 8GB | Samsung 970evo Plus 250GB NVMe | Corsair MP510 1TB NVMe | Samsung 980 Pro 2TB NVMe | Corsair RM550x | 24" BenQ GW2470H | 3x Noctua NF-S12B redux 1200 PWM
Xiaomi Mi 9 Lite 64GB
Používateľov profilový obrázok
lacika
Pokročilý používateľ
Pokročilý používateľ
Príspevky: 4278
Dátum registrácie: Pi 11. Jan, 2008, 14:00
Bydlisko: KE

Re: bmp2png konverter C#

Príspevok od používateľa lacika »

lenze ono to aj konverzuje..
z 1,05MB na 330kB a irfanView nehlasi zly format.
to, ze prepisujem priponu ano.. inak by to bolo po konverzii ****.bmp.png
Používateľov profilový obrázok
filuS
Používateľ
Používateľ
Príspevky: 548
Dátum registrácie: Ut 26. Aug, 2008, 13:14
Bydlisko: Presov, Slovakia

Re: bmp2png konverter C#

Príspevok od používateľa filuS »

sice som C# nevidel dobrych 6 rokov, ale co som tak letmo nazrel do dokumentacie, tak skus pred File.Delete hodit tento command:
- image1.Finalize();
ak to nepojde, tak este skus:
- image1.Dispose();
obe tieto metody by mali odstranit z pamate pouzite resources (z dokumentacie mi vychadza, ze Finalize by mala byt bezpecnejsia na pouzitie) a uvolnit file na vymazanie. No odskusane to nemam.
Desktop
Spoiler: ukázať
Specs:
- AMD Ryzen 5 5600X + Noctua NH-U12S Chromax.black
- PowerColor Red Devil AMD Radeon RX 6700XT
- ASUS TUF Gaming B550M-PLUS
- Crucial Ballistix 32GB (4x8GB) 3600 MHz CL16
- Be Quiet! Pure Base 500DX Black + 5x Noctua fans
- Corsair RM650x + CableMod PRO ModMesh C-Series Kabel Kit (Black/Red)
- Samsung 970 EVO Plus 500GB + ADATA XPG SX8200 Pro 1TB
- Sound Blaster Z
OS: Windows 10 Home 64bit
Monitor: Zowie by BenQ XL2546K + Eizo FS2333
Peripherals:
- Logitech G PRO Superlight + Artisan Hien L Mid Wine Red
- Logitech G915 TKL (red)
- Audio-Technica ATH-G1WL
Používateľov profilový obrázok
lacika
Pokročilý používateľ
Pokročilý používateľ
Príspevky: 4278
Dátum registrácie: Pi 11. Jan, 2008, 14:00
Bydlisko: KE

Re: bmp2png konverter C#

Príspevok od používateľa lacika »

vdaka. Dispose() pomohlo :)
Používateľov profilový obrázok
Chris
Pokročilý používateľ
Pokročilý používateľ
Príspevky: 5174
Dátum registrácie: Pi 13. Jan, 2006, 02:00
Bydlisko: Bratislava

Re: bmp2png konverter C#

Príspevok od používateľa Chris »

neni jednoduchsie to spravit v cmd, alebo powershelly ? :D
Master of PaloAlto NGFWs, Cisco ASAs

Návrat na "Programovanie"