Decizia de a cultiva fotografiile de bază

Dragi colegi, bună după-amiază! Spuneți-mi cum să creez în mod programatic o imagine dintr-o cutie foto? Capul imediat a venit să ia o captură de ecran, funcționează, dar rezoluția imaginii scade dramatic (la dimensiunea ecranului, respectiv). Este necesar să faceți o fotografie din PictureBox'a, să taie o parte din ea (în consecință, fără a pierde pixeli, ca în cazul unei imagini de ecran) și să salvați această parte într-un fișier. Sper să vă ajut imediat, tk. Nu am idei, iar Internetul oferă variante doar cu ajutorul graficii, pe care nu o știu să traduc în imagine / salvați în fișier.







Tot timpul zilei. Îmi cer scuze dacă nu chiar în subiect. Am scris un program de sortare a fotografiilor până la data filmării. I a lua o listă de fișiere într-un director, apoi verificați data înregistrării și copierea într-un dosar cu data (în acest caz, în ziua de filmare). Problema este că eu nu pot muta un fișier de comandă IO.File.move (), un „fișier folosit de un alt proces“ eroare (Ei bine, aici este clar că procesul meu). Spune-mi cum să-l pună în aplicare, fără a schimba foarte mult metoda mea pentru a obține 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 (expeditor Ca obiect, e Ca EventArgs) Minere Button2.Click HFolder = Application.StartupPath Dim foto As Image Const DATE_TAKEN Ca Integer = H9003 Dim SecFiles () Ca String = IO.Directory.GetFiles (HFolder, "* .jpg", IO.SearchOption.AllDirectories) „Ia numele matrice Dim DAT (2) ca șir pentru fiecare Phot In SecFiles Photo = Image.FromFile ( Phot) Dacă Photo.PropertyIdList.Contains (DATE_TAKEN) Apoi Dim DateProp Ca Imaging.PropertyItem DateProp = Photo.GetPropertyItem (DATE_TAKEN) Dat (0) = Mid (System.Text.Encoding.ASCII.GetString (DateProp.Value), 1, 4) 'an Dat (1) = Mid (System.Text.Encoding.ASCII.GetString (DateProp.Value), 6, 2)' Luna Dat (2) = Mid (System.Text.Encoding.ASCII.GetString (DateProp .value), 9, 2), „numărul Încercați IO.File.Move (Phot, CrFolder (DAT (2)) + IO.Path.GetFileName (Phot)) captura ex Ca excepție End Încercați End If End Sub următor







Salutări, colegi. Sincer - nu încercați când. Întrebarea pe care mi întreb pe drumul spre rezolvarea altor probleme. Deci, întrebarea este: În cazul în care să rămână director cu aplicații grafice pentru a anticipa în avans nu este posibilă. Prin urmare, în aplicația pentru a determina modul în care constantele sistemului utilizat. Cine știe - dacă are ca efect urechile fentă în cazul în care câmpul este descărcat din resursele bazei de date ca o modalitate de o fotografie, va conține tipul de linie: vb.net1 Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData) \ Application \ moe_foto.dzhpg Postat? 16 minute ceva gândit că constantă transmisă sub forma unor „linii“ rămân doar siruri de caractere.

Bună ziua, dragă) I-am scris privitorul pentru a se potrivi nevoilor dumneavoastră, dar se confruntă cu problema de a pune capăt rapid memoria PC-ului. secțiuni Aici critice de cod: 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 Ca New Bitmap (MyImages (MyCurrentImage - 1)) Orientare Dim Ca ExifOrientations = ImageOrientation (MyFoto) Selectați Case Orientare Case nu ExifOrientations.Unknown'nichego do cauza ExifOrientations.TopLeft, ExifOrientations.TopRight, ExifOrientations.BottomLeft, ExifOrientations.LeftTop, ExifOrientations.RightBottom „nu fac nimic Case ExifOrientations.BottomRight MyFoto.RotateFlip (RotateFlipType.Rotate180FlipNone) Case ExifOrientations.RightTop MyFoto.RotateFlip (RotateFlipType.Rotate90FlipNone) Case ExifOrientations.LeftBottom MyFoto.RotateFlip (RotateFlipType.Rotate270FlipNone) Case Else MsgBox ( "eroare necunoscută №6") MyFoto = Nimic Exit sub End Select OriginImage = MyFoto „este stocat în variabila globală tipul de imagine orientat corect Foto pctPic.Invalidate () MyFoto.Dispose () „MyFoto = Nimic apel ShowInfoOfFoto () în codul de mai sus, am încărca fotografia în variabila de tip MyFoto Bitmap, și apoi orienta în mod corespunzător fotografii după etichetă. La început, am făcut-o „MyFoto = nimic“ și a crezut că acest lucru poate fi până când am glyukanul studio. Google a spus că se întâmplă atunci când un deficit de memorie. Am început să fac „MyFoto.Dispose ()“, dar există o altă problemă: în prima imagine pikchurbokse trase, iar apoi există un fond alb, iar în acest context, linii roșii și linia de cruce dreptunghi. Deci, prin modificarea parametrilor proiectului (făcându-l doar pentru x64), am aflat că acest lucru „a cauzat o excepție:“ System.ArgumentException „în System.Drawing.dll“ Imaginea este desenată în codul următor pikchurbokse: vb.net1 2 3 4 5 6 7 8 9 10 Private Sub pctPic_Paint (expeditor Ca System.Object, e cum System.Windows.Forms.PaintEventArgs) Minere pctPic.Paint Dacă OriginImage este nimic sau un program ImageScale nu funcționează sau nu se potrivește descrierii. Spuneți-ne despre acest lucru prin completarea unui formular simplu. Thanks =) Face site-ul mai bun







Articole similare

Trimiteți-le prietenilor: