Forum » Programiranje » [Android] Nalaganje slik v bitmap in prikazovanje prek canvasa
[Android] Nalaganje slik v bitmap in prikazovanje prek canvasa
![](https://static.slo-tech.com/stili/avatar_gray.gif)
piki12 ::
Pozdravljeni,
želim narediti program kjer bi lahko naloadal sliko in jo na ekranu pokazal (naredil bi tako da naložim v bitmap nato prek canvasa pokažem)
Pomagal sem si z tem linkom vendar je rezultat naslednji: http://developer.android.com/training/d...
Ko naložim sliko mi pa se na ekranu prikaže čudna situacija..
Približno nekaj takega ampak to se zgodi ko zaslon obrnem se slika spremeni namesto da bi ostala ista. Vendar ne vem zakaj se spremeni.
Podoben problem je tukaj opisan: http://stackoverflow.com/questions/1912...
Ko pa poskusim z drugo kodo pa zadeva deluje odlično vendar včasih mi napolni pomnilnik in se aplikacija crashne, in seveda glavna razlika med kodama je da prvi algoritem lavfa pod 24mb uporabe pomnilnika drugi pa pod 48mb zato bi zelo rad uspobil prvega.
Koda drugega algoritma:
Mogoča ima kdo predlog kje je velika napaka in kaj je narobe sploh da se to dvoje dogaja.
želim narediti program kjer bi lahko naloadal sliko in jo na ekranu pokazal (naredil bi tako da naložim v bitmap nato prek canvasa pokažem)
Pomagal sem si z tem linkom vendar je rezultat naslednji: http://developer.android.com/training/d...
Ko naložim sliko mi pa se na ekranu prikaže čudna situacija..
Približno nekaj takega ampak to se zgodi ko zaslon obrnem se slika spremeni namesto da bi ostala ista. Vendar ne vem zakaj se spremeni.
Podoben problem je tukaj opisan: http://stackoverflow.com/questions/1912...
Ko pa poskusim z drugo kodo pa zadeva deluje odlično vendar včasih mi napolni pomnilnik in se aplikacija crashne, in seveda glavna razlika med kodama je da prvi algoritem lavfa pod 24mb uporabe pomnilnika drugi pa pod 48mb zato bi zelo rad uspobil prvega.
Koda drugega algoritma:
public void load() { if (mPicturePath != null) { FileInputStream in; BufferedInputStream buf; try { if (loadedBmp != null) { loadedBmp.recycle(); loadedBmp = null; } in = new FileInputStream(mPicturePath); buf = new BufferedInputStream(in); byte[] bMapArray = new byte[buf.available()]; buf.read(bMapArray); prepareBitmaps(); drawBitmap(mBitmap); loadedBmp = BitmapFactory.decodeByteArray(bMapArray, 0, bMapArray.length); loadedBmp = resizeImage(loadedBmp); drawBitmap(mBitmap); drawBitmap(loadedBmp); updateBitmap(loadedBmp); if (in != null) { in.close(); } if (buf != null) { buf.close(); } bMapArray = null; in = null; buf = null; } catch (Exception e) { Log.e("Error reading file", e.toString()); } // Clear path so we don't load it again next time. mPicturePath = null; } }
Mogoča ima kdo predlog kje je velika napaka in kaj je narobe sploh da se to dvoje dogaja.
- spremenil: Mavrik ()
![](https://static.slo-tech.com/stili/avatar_gray.gif)
piki12 ::
A kr noben ne ve zakaj mi prva metoda manj pomnilnika rab k druga in zakaj mi raztegne tok grdo sliko ![:O](https://static.slo-tech.com/smeski/icon_surprised.gif)
![:'(](https://static.slo-tech.com/smeski/icon_cry.gif)
![;(](https://static.slo-tech.com/smeski/icon_evil.gif)
![:(](https://static.slo-tech.com/smeski/icon_sad.gif)
![:O](https://static.slo-tech.com/smeski/icon_surprised.gif)
![:'(](https://static.slo-tech.com/smeski/icon_cry.gif)
![;(](https://static.slo-tech.com/smeski/icon_evil.gif)
![:(](https://static.slo-tech.com/smeski/icon_sad.gif)
![:'(](https://static.slo-tech.com/smeski/icon_cry.gif)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [JAVA] HTTPS clientOddelek: Programiranje | 3197 (1927) | peterv6i |
» | Java skeniranje map in podmapOddelek: Programiranje | 1173 (1062) | nightrage |
» | [Android] Nov tip shranjevanja slikeOddelek: Programiranje | 2214 (1338) | urosz |
» | Android zamenjava pogledovOddelek: Programiranje | 1106 (927) | c00L3r |
» | Kako pošiljanje datotek v JAVI.Oddelek: Programiranje | 1854 (1725) | kopernik |