Fit képet, hogy illeszkedjen a megadott méret

Ebben a cikkben gondoljunk átméretezés képek.

Beállítása tárhely feldolgozott képek

Először ki kell választani azt a mappát, ahol tárolja a feldolgozott képeket. A választás a hely kényelmes, hogy nem a párbeszéd Folderbrowserdialog. Fontos, hogy ha szükséges, a felhasználó létrehozhat egy új mappát:

Ha a felhasználó úgy dönt, a Mégse gombra, meg kell jeleníteni minden üzenet alján a következő formában:

Képek feldolgozásra

Ha már döntött a mappát, amely meg fog változni, hogy mozog a kép, ki kell választanunk a fájlokat tartalmazó képeket. Ehhez használjuk a szabványos OpenFileDialog párbeszédablak. amely lehetővé teszi, hogy többszörös kijelölést a fájlokat.

Az elemek a szűrő választja el egymástól függőleges vonalak. Mindegyik szűrő kifejeződése egy pár elemek - leírás és a fájl kiterjesztések. Ebben az esetben az általunk használt két pár:

Az első szűrő kimeneteket csak képfájlokat párbeszédablakban a második szűrő megjeleníti az összes fájlt a mappában.

Amikor a felhasználó kiválaszt egy fájlt (vagy egyszerre több fájlt), majd kattintson a Megnyitás gombra. A fájlok feldolgozása és másolja a korábban kiválasztott mappába.

képfeldolgozás

OpenFileDialog párbeszédablak listáját adja vissza fájlnevek stringtömb. Most már tudjuk megnyitni minden fájlt, tölts fel egy képet róla, átméretezés, és az eredményt elmentheti egy új fájlt. Ezek a műveletek kerül sor az eljárás processFiles.

Módszer vezetjük tömb fájlnevek és a mappa elérési útját, hogy mentse az eredményeket. Ezután az eljárás feldolgozza az egyes fájlok és elmenti.

A módszer létrehoz egy kép scaleBitmap eljárás átméretezés és tárolja az eredményt vissza a lemezre.

Ha hibát kapott létrehozása során a kép a fájlt megjeleníteni egy figyelmeztetést, és a feldolgozás folytatása a következő fájlra. Hasonlóképpen, meg kell kezelni a hibákat, ha a fájl mentése. Ha találkozik az első hiba történt a fájl mentése valószínűleg nincs értelme megtartani a következő fájlt - talán a lemez megtelt, vagy csak olvasható, stb

átméretezés

A kép átméretezése nagyon egyszerű. Vannak különböző grafikai technikák rajzoljon négyszöget az egyik képről a másikra. Megváltoztatása a méretei a forrás és a vevő, akkor a kívánt eredményt. A nehézség abban rejlik, hogy miközben a kép arányait. A módszer lényege, hogy a kép megjelenítéséhez teljes képernyős megjelenítő-eszközön, és adjunk hozzá tér körül, igény esetén:

DrawImage módszerrel könnyedén át lehet méretezni a képet, és jelentős szerepet játszik a scaleBitmap módszer.

méretek kezelése

A felhasználó kiválaszthatja a legördülő listából a szükséges méretet a jövőbeli kép, ami úgy fog kinézni a kiválasztott eszköz.

Hozzon létre egy külön osztály, amely információt tartalmaz a méretet.

OutputSize típusba tartoznak ingatlan azonosító nevet a készülék és a képernyő mérete. Felülbírálat toString módszert alkalmazzák a teljes szöveg megjelenítéséhez a legördülő menüből. Tulajdonságai szélessége és magassága nyitott és fel lehet használni bármilyen módszerrel különféle kategóriákban. Végül, a tervező meghatározza a szükséges értékeket egyszerre. Mi is létrehozhatunk egy sor esetben egy osztály, és töltse ki a ComboBox:

Ha hozzá szeretné adni más típusú eszközök a programban, csak egy leírást hozzá, hogy a tömb, és ez jelenik meg a kombinált listában automatikusan. Add az összes elemet a tömb ComboBox nagyon egyszerű:

Ha meg akarjuk tudni, hogy a felhasználó által kiválasztott a listából, majd a következő kódot:

Most már a szükséges információkat, hogy módosítsa a kép: az ingatlan szélesség, magasság méretű másolat.

Állítsa be a hátteret

Azt is lehetővé teszi a felhasználó számára, hogy válasszon egy háttérszínt a kép, ha nem teljesen illeszkednek a megadott méret:

Alapértelmezésben a program használja a háttér színe fehér, de meg tudjuk változtatni a segítségével ColorDialog párbeszédablak:

Miután kiválasztotta a színt a háttérben, akkor használd a scaleBitmap módszer.

Mert PictureBox SizeMode ingatlan kell állítani zoom. hogy a pontos képet.

fejlődés mutatója

Ha a felhasználó kiválaszt egyszerre több fájlt változtatni a méretét, ez a folyamat hosszú időt vesz igénybe. Mi lehet számítani az értékét ennek a folyamatnak elosztjuk a fájlok számát dolgozza fel az összes kiválasztott fájlok és az eredményt megszorozzuk 100-hoz kap egy százalékot.

hiba Kezelés

Elvileg a program készen áll. De, ha túl sokáig dolgozni Visual Studio átméretezés dönthet úgy, hogy a program lefagy. Letiltani a kizárási emiatt CIDA fejlesztési környezet, meg kell találni a menüben a „Debug” click „Kivételek”, és távolítsa el a jelölést a „dobott” kivétel a ContextSwitchDeadlock:

Ezután a program megfelelően fog működni, még nagy mennyiségű fájlt. Elvileg a program készen áll. De meg lehet javítani.

Drag-and-drop

Jó lenne, ha a felhasználó drag and drop a kívánt képet a megfelelő forma automatikusan átméretezi.

Tájkép / Portré mód

Fordítás: Vasily Kotov