A fénykép - vizuális alapvetés kivágása
Tisztelt kollégák, jó délután! Mondd meg, hogyan programozhatod el egy képet egy pictureboxból? A fej azonnal eljött, hogy készítsen egy screenshotot, működik, de a kép felbontása drámai módon csökken (a képernyőkép méretéhez képest). Készítenie kell egy képet a PictureBox'a-ból, hogy levágja egy részét (ennek megfelelően képpontok elvesztése nélkül, mint például egy screenshot esetén), és mentse el ezt a részt egy fájlba. Remélem, gyors segítségedre, tk. Nincs ötletem, és az internet csak grafikák használatával adja meg a változatokat, amelyekről nem tudom, hogyan kell a képre / fájlba menteni.
A nap minden kedves ideje. Elnézést kérek, ha nem egészen a témában. Írok egy programot a fotók rendezéséhez a felvétel időpontjáig. Megkapom a fájlok listáját a könyvtárban, majd ellenőrizem a felvétel dátumát, és átírom a mappába a dátummal (ebben az esetben a forgatási nap). A probléma az, hogy nem tudok mozogni egy fájlt IO.File.move () parancs hiba „fájlt használja egy másik folyamat” (Nos, itt egyértelmű, hogy az én folyamat). Mondja meg, hogyan hajtják végre nélkül jelentősen változik én eljárást, hogy megkapjuk atributa.vb.net1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Private Sub Button2_Click (feladó Amint Objektum, e mint EventArgs) Kezeli a Button2.Click HFolder = Application.StartupPath Dim Photo mint kép Const DATE_TAKEN Mint Integer = H9003 Dim SecFiles () As String = IO.Directory.GetFiles (HFolder "* .jpg", IO.SearchOption.AllDirectories) „Szerezd meg a nevét tömb Dim Dat (2) As String For Each Operatőr A SecFiles Photo = Image.FromFile ( Phot) Ha Photo.PropertyIdList.Contains (DATE_TAKEN) Ezután Dim DateProp Amint Imaging.PropertyItem DateProp = Photo.GetPropertyItem (DATE_TAKEN) Dat (0) = közepes (System.Text.Encoding.ASCII.GetString (DateProp.Value), 1, 4) 'év Dat (1) = közepes (System.Text.Encoding.ASCII.GetString (DateProp.Value), 6, 2)' hónap Dat (2) = közepes (System.Text.Encoding.ASCII.GetString (DateProp Eddig), 9, 2), „number Próbálja IO.File.Move (Operatőr, CrFolder (DAT) (2) + IO.Path.GetFileName (Operatőr)) Catch ex Mivel Kivétel végén meg End If Next End Sub
Üdvözlet, kollégák. Őszintén szólva - ne próbáld ki, mikor. Az egyéb problémák megoldása mellett felteszem a kérdést. A kérdés tehát: Hol marad Directory grafikus alkalmazásokhoz előre megjósolni nem lehet. Ezért a kérelmet, hogy meghatározza, hogy a használt rendszer állandók. Ki tudja - ha csel füle hatása, ha a mező kiürül az adatbázis-erőforrások olyan módon, hogy egy fotó, tartalmazni fogja a vonal típusát: vb.net1 Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData) \ Application \ moe_foto.dzhpg Közzétett? 16 perc valami gondolta, hogy állandó továbbított formájában „vonal” is csak szálakat.
Hello, kedves) írok a nézőt, hogy illeszkedjen az Ön igényeinek, de szembesül azzal a problémával, hogy gyorsan véget a PC memória. Itt kritikus szakaszai kód: vb.net1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Dim MyFoto Ahogy New Bitmap (MyImages (MyCurrentImage - 1)) Dim Orientation Amint ExifOrientations = ImageOrientation (MyFoto) Select Case orientációja Case ExifOrientations.Unknown'nichego nem Case ExifOrientations.TopLeft, ExifOrientations.TopRight, ExifOrientations.BottomLeft, ExifOrientations.LeftTop, ExifOrientations.RightBottom „nem tesz semmit Case ExifOrientations.BottomRight MyFoto.RotateFlip (RotateFlipType.Rotate180FlipNone) Case ExifOrientations.RightTop MyFoto.RotateFlip (RotateFlipType.Rotate90FlipNone) Case ExifOrientations.LeftBottom MyFoto.RotateFlip (RotateFlipType.Rotate270FlipNone) Case Else MsgBox ( "Ismeretlen hiba №6") MyFoto = Semmi Exit Sub End Select OriginImage = MyFoto „van tárolva a globális változó A fényképek típus helyesen orientált Photo pctPic.Invalidate () MyFoto.Dispose () „MyFoto = Semmi hívás ShowInfoOfFoto () A fenti kód, azt betölteni a fotót változó MyFoto típusú Bitmap, majd tájékozódni megfelelően fotók tag. Az elején én „MyFoto = semmi”, és úgy gondolta, hogy ez lehet, amíg nem glyukanul stúdióban. A Google azt mondta, hogy ez történik, ha kevés a memória. Elkezdtem csinálni „MyFoto.Dispose ()”, de van egy másik probléma: az első pikchurbokse rajzolt képet, és akkor van egy fehér háttér, és ennek fényében, piros vonalak és a téglalap keresztben sor. Tehát paramétereinek változtatásával a projekt (ami csak x64), megtudtam, hogy ez a „kivételt okozott:” System.ArgumentException „a System.Drawing.dll” A képet rajzolt a következő kódot pikchurbokse: vb.net1 2 3 4 5 6 7 8 9 10 Private Sub pctPic_Paint (feladó Mint System.Object, e néven System.Windows.Forms.PaintEventArgs) fogantyúk pctPic.Paint Ha OriginImage semmi vagy ImageScale program nem működik, vagy nem felel meg a leírást. Kérjük, ossza meg velünk kitöltésével egy egyszerű űrlapot. Köszönöm =) Tedd oldal jobb