Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
erik518
Člen
Avatar
erik518:3.1.2014 15:44

Čaute, mám problém v C# že keď zapnem program a ten urobí fotku na parametroch ktoré som tam zadal a následne uloží do priečinku ( to ide ) potom program má s toho priečinku zobrať odfotenú fotku + originálnu fotku na porovnanie ( aj to vypíše správne ). Ale už nastáva obrovský problém v tom keď to má celé program zopakovať druhý krát ( ja to chcem viacej krát opakovať ). Konkrétne to je na riadku ktorý má preuložiť fotku starú za novo odfotenú fotku.

Error: A generic error occurred in GDI+.

Riadok: printscreen.Sa­ve(@"C:\Fotky\O­brazok1.bmp");

Porovnávanie obrázku vyzerá nejako takto:
http://pastebin.com/V7gdGG91

Vopred ďakujem za odpoveď.

 
Odpovědět
3.1.2014 15:44
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na erik518
David Hartinger:3.1.2014 17:13

Není to tím, že zapisuješ na céčko? Zkus spustit program jako administrátor.

Nahoru Odpovědět
3.1.2014 17:13
You are the greatest project you will ever work on.
Avatar
erik518
Člen
Avatar
erik518:3.1.2014 17:19

Skúsil som, nepomohlo.

 
Nahoru Odpovědět
3.1.2014 17:19
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:3.1.2014 17:24

Ten GenericError může být prakticky cokoli, navíc tyhle funkce kolem grafiky jsou myslím unmanaged, takže to půjde debugovat pěkně blbě. Zkusil bych metodu postupného ořezávání kódu, až získáš opravdu jen pár řádků, na kterých to spadne. Takovouhle špagetu bys jinak debugoval asi dlouho :)

Nahoru Odpovědět
3.1.2014 17:24
You are the greatest project you will ever work on.
Avatar
erik518
Člen
Avatar
erik518:3.1.2014 17:28

Ja viem na akom riadku to padne [ Riadok: printscreen.Sa­ve(@"C:\Fotky\O­brazok1.bmp"); ]

 
Nahoru Odpovědět
3.1.2014 17:28
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na erik518
David Hartinger:3.1.2014 17:30

Jak vidíš, tak ti to je úplně k ničemu, když nevíš proč. Musíš vyloučit že to dělá něco nad tím.

Nahoru Odpovědět
3.1.2014 17:30
You are the greatest project you will ever work on.
Avatar
erik518
Člen
Avatar
erik518:3.1.2014 17:32

Ja tipujem že to robí to Compare... Otvorí fotku a program ju stále používa a preto nechce uložiť nový ( len moja teória ktorú idem otestovať do praxe )

//edit: dal som na button iba odfotiť snímok a ten funguje ako má... čiže to bude na 99,9% chyba v tom compare :/

Editováno 3.1.2014 17:35
 
Nahoru Odpovědět
3.1.2014 17:32
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na erik518
David Hartinger:3.1.2014 17:34

Zdroják Compare si sem nedal. Každopádně až to osekáš, tak zjistíš kde je chyba.

Nahoru Odpovědět
3.1.2014 17:34
You are the greatest project you will ever work on.
Avatar
erik518
Člen
Avatar
erik518:3.1.2014 17:37

Link na compare --> http://pastebin.com/eNY28KNn <--

 
Nahoru Odpovědět
3.1.2014 17:37
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na erik518
David Hartinger:3.1.2014 17:43

Zdrojové kód vkládej sem do fóra. Kdybys psal objektově, tak se sem ty metody i vejdou. Promiň, ale ten kód je opravdu příšerný. Je to špageta, kde voláš ještě nějakou rekurzi a dole dokonce dispose(). Tady je hezky vidět, proč se programy nemají psát jak tě to zrovna napadne. To ladění ti nezávidím, kdybys to měl rozdělené na metody, jednoduše bys poznal kde je chyba a hlavně by se ti sám volal GC.

Nahoru Odpovědět
3.1.2014 17:43
You are the greatest project you will ever work on.
Avatar
erik518
Člen
Avatar
erik518:3.1.2014 17:49

Ja programujem len chvíľu tak neviem ešte tak dobre a správne písať kódy :/.
Mohol by si mi poradiť nejako v tomto ?.

 
Nahoru Odpovědět
3.1.2014 17:49
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na erik518
David Hartinger:3.1.2014 17:51

Já to za tebe dubugovat nebudu. Prostě to postupně ořezej a zjisti kdy ti to začne chybovat, již jsme ti to psal. Jinak to asi nevyřešíš.

Nahoru Odpovědět
3.1.2014 17:51
You are the greatest project you will ever work on.
Avatar
erik518
Člen
Avatar
erik518:3.1.2014 17:53

Poradíš my aspom ako by som mal uzatvoriť proces využívania toho obrázka ?

 
Nahoru Odpovědět
3.1.2014 17:53
Avatar
Kit
Tvůrce
Avatar
Odpovídá na erik518
Kit:3.1.2014 17:55

Obvykle je mnohem jednodušší spočítat MD5 nebo SHA1 z porovnávaných obrázků a porovnávat jen výsledky. Dokonce se mi osvědčilo podle nich pojmenovat soubory na disku. Nikdy se nic neuloží 2×.

Nahoru Odpovědět
3.1.2014 17:55
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na erik518
David Hartinger:3.1.2014 18:06

Neporadím, protože ani nevím která část to využívá. Chápu, že se ti to nechce ladit, ale prostě ti nic jiného nezbude.

Nahoru Odpovědět
3.1.2014 18:06
You are the greatest project you will ever work on.
Avatar
erik518
Člen
Avatar
erik518:3.1.2014 18:21

Ale ja neviem ako mám uzavrieť používanie obrázka aby ten program po akcii s obrázkom ho prestal používať :(. Potom by som mohol dať vymazať ten obrázok a až potom urobiť ďalšiu snímku a teoreticky by to mohlo ísť.

Editováno 3.1.2014 18:22
 
Nahoru Odpovědět
3.1.2014 18:21
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 16 zpráv z 16.