Favicon Svethardware.cz  Svět hardware   Fórum Favicon Svetaudia.cz  Svět audia Favicon TVFreak.cz  TV Freak   Fórum Favicon Digimanie.cz  Digimanie   Fórum   Galerie Společnost oXy Online s.r.o.
Zobrazené výsledky: 1 až 10 z 10

Téma: Dynamické načtení velké bitmapy v .NET C# (PDA)

  1. #1
    Nováček
    Registrace
    Aug 2006
    Příspěvků
    0

    Potřebuji v projektu .NET C# načítat v PDA velkou bitmapu.
    Bohužel to je možné do velikosti cca 300 kB.

    Provádí se to takto:

    Kód:
    pictureBox1.Image = new Bitmap("obrazek.jpg");
    Bohužel větší obrázek na platformě typu PDA vede k tomuto násilnému ukončení programu:



    Výhozí prohlížeč obrázků si poradí i s JPG, které zabírá 30MB !
    Existuje však knihovna pro zobrazení zde:
    http://www.codeproject.com/ce/PicView.asp

    Moc prosím o co nejpřesnější ukázku případně alespoň navedení jak je možné tuto knihovnu implementovat do projektu .NET C#.

    Pokud se tady někdo kdo to ví najde, budu nesmírně vděčný !
    (nepotřebuji radu jak tuto vyjímku odchytávat a řešit)
    Odpovídat lze po přihlášení

  2. #2
    Starousedlík SMob
    Registrace
    Jan 2004
    Příspěvků
    2,017

    Ano, tohle je v CNF problem...
    Zkusil jste primo zavolat API funkci SHLoadBitmap (pres Interop - DllImport)?
    Odpovídat lze po přihlášení



  3. #3
    Nováček
    Registrace
    Aug 2006
    Příspěvků
    0

    S WinAPI nemám žádné zkušenosti, protože mi v porovnání s .NET přijde velice složité.
    Zkoušet jsem to zkoušel, ale nepodařilo se mi ani založit project tak, aby načetl tu bitmapu.
    WinAPI mi přijde tak složité, že se do něj bojím pouštět.
    Odpovídat lze po přihlášení

  4. #4
    Občasný diskutér
    Registrace
    Jan 2007
    Příspěvků
    49

    Co myslíš pod pojmem větší? Ale jsou-li to řádově MB, tak nejspolehlivější bude napsat si vlastní parser, nebo použít nějaký z netu a opravdu načítat jen kousky co zobrazuješ.
    Odpovídat lze po přihlášení

  5. #5
    Nováček
    Registrace
    Aug 2006
    Příspěvků
    0

    Citace Původně odesláno od phacker
    Co myslíš pod pojmem větší? Ale jsou-li to řádově MB, tak nejspolehlivější bude napsat si vlastní parser, nebo použít nějaký z netu a opravdu načítat jen kousky co zobrazuješ.
    Prosím,
    hledám zde konkrétní radu a ukázku postupu.
    Vaše odpověď je vyloženě návrh na postup, ale není konkrétní.

    Pokud jsem knihovny .NET pochopil správně tak ten Váš výřez, který navrhujete se dělá tak, že se načte bitmapa a z ní se potom udělá ten výřez.

    Což vede na tento postup, konkrétně:

    Kód:
    new Bitmap("obrazek.jpg"); // Slouží pro načtení
    Bohužel potíže jsou zakopány už v tomto řádku.
    Jenom tak ze srandy jsem natahl do PDA JPG o komprimované velikosti 30MB a výchozí prohlížeč jej dokázal zobrazit bez problému.
    Odpovídat lze po přihlášení

  6. #6
    Občasný diskutér
    Registrace
    Jan 2007
    Příspěvků
    49

    Ne. Finta je v tom, si spočítat na kterém místě v souboru leží část obrázku kterou je potřeba načíst a vytáhnout právě jen ten kus.
    Resp. je potřeba zobrazit celý obrázek, nebo jen výřez?
    Odpovídat lze po přihlášení

  7. #7
    Nováček
    Registrace
    Aug 2006
    Příspěvků
    0

    Citace Původně odesláno od phacker
    Ne. Finta je v tom, si spočítat na kterém místě v souboru leží část obrázku kterou je potřeba načíst a vytáhnout právě jen ten kus.
    Resp. je potřeba zobrazit celý obrázek, nebo jen výřez?
    Tak ještě jednou děkuji za zájem.
    Jak jsem už psal jedná se o projekt v .NET C# pro Pocket PC a mělo by se jednat o modul pro prohlížeč obrázků (open source, nic později placeného )

    Zkrátka hledám nejjednodušší cestu jak zobrazit obrázek, který si uživatel zvolí na jeho PDA. Pokud by nutností bylo zobrazit jen část obrázku tak se podřídím.

    Jak už jsem psal. Prohledal jsem spoustu anglických fór a nikde to nevyřešili.

    Takže jak píši účelem je, aby si uživatel načetl bitmapu, jejíž parametry jsou naprosto neznámé v době spuštění programu.
    Proto nějaká finta jak si obrázek staticky rozdělit na několik "tabulek" a ty například poskládat k sobě je zcela vyloučena

    I když pokud znáte způsob jak zobrazit např. část "velkého" obrázku, tak aby nedošlo k vyvolání vyjímky "out of memory exception" tak jsem jedno ucho.
    Odpovídat lze po přihlášení



  8. #8
    Občasný diskutér
    Registrace
    Jan 2007
    Příspěvků
    49

    Bez znalosti kontextu těžko radit. Resp. chápu co je třeba, ale aby se řešení dalo zasadit do výsledného projektu, potřeboval bych vědět víc. Můžu když tak napsat kus kódu, který si bitmapu "ošahá" a udělá z ní nějaký rozměrově přijatelný náhled. A jedná-li se o open source, mohu nabídnout též svou participaci. Má projekt web?
    Odpovídat lze po přihlášení

  9. #9
    Nováček
    Registrace
    Aug 2006
    Příspěvků
    0


    Žádné megalomanské ambice (podle zkušeností) nemám a dovolil bych si Vás kontaktovat navečer přes ICQ pokud by Vám to nevadilo ve 20:00 h
    Odpovídat lze po přihlášení

  10. #10
    Občasný diskutér
    Registrace
    Jan 2007
    Příspěvků
    49

    Kdykoliv mezi 8:00 a 24:00 :-)
    Odpovídat lze po přihlášení

Podobná témata

  1. Tisk velke mapy
    Od Brunoos_ce4you v sekci OziExplorerCE
    Reakcí: 3
    Poslední příspěvek: 04-01-2013, 19:22
  2. Dlouho trvá u G 500 + načtení satelitů GPS
    Od indigos v sekci Zbývající zařízení E-TEN
    Reakcí: 7
    Poslední příspěvek: 21-07-2008, 12:22