Šta je novo?

Prikaz slika u Visual C++ 2005

psycho84

Slavan
Učlanjen(a)
03.12.2007
Poruke
178
Poena
320
Moja oprema  
CPU & Cooler
Thermalright Assain King 90
Matična ploča
MSI B550M Pro-VDH Wifi
RAM
2x16GB 3000MHz G.Skill Aegis
GPU
RX6800 16GB Powercolor Reaper
Storage
WD SN550 1TB + Toshiba Canvio Basics external 3TB
Zvuk
Integrated + EIDA 9038D
PSU
Seasonic SGX 500W SFX-L
Kućište
SKTC HX Box 100
Monitor
Lenovo ThinkVision T24v 24"
Miš & tastatura
Drevo Gramr full RGB 75% mechanical Gateron Brown, Logitech Triathlon + MS IMO 1.1a
Ostale periferije
HifiMan Sundara CB
Mobilni telefon
iPhone 13 mini
Pristup internetu
  1. Optički internet
  2. Mobilni internet
Na koji nacin i koriscenjem cega mogu da napravim prikaz slika (bmp,jpg,gif,png)
u mojoj aplikaciji...Pokusavao sam uz MSDN da se snadjem ali vecina onoga sto
sam nasao ima nesto sto mu fali...Da li postoji nesto relativno jednostavno za
prikaz slika???Slike zapravo zelim da prikazem iz bafera (u baferu se nalazi prakticno
kopirana cijela slika iz datoteke) jer mi je potrebno da ucitavam slike koje nisu
samostalne nego su zapravo u okviru nekog drugog fajla ali sadrze sve kao normalne
bmp,jpg,gif,png slike (znaci header i ostalo)...

Hvala svima...
 
Devexpress kontrole ali nisu besplatne.
 
Trazio sam i tu ali ne mogu da nadjem nista sveobuhvatno...To sto si mi ti stavio yooyo je nesto sto mi ne pase kako treba ;)
 
Pa daj vise detalja sta ti tacno treba.
 
Detalja vezanih za sta,mislio sam da sam dao dovoljno detalja u prvom postu...Treba mi nesto sto je sastavni dio Visual C++ sa cime cu moci na relativno lak nacin da prikazem sliku u prozoru moje aplikacije...Pod slike mislim na bmp,jpg,gif i png da moze sve da podrzi...Nije mi potrebno da mogu da vrsim izmjene na slici (docrtavam nesto ili tako to) ali mi treba da mogu da zumiram...Dakle treba mi nesto sto moze citavu sliku zajedno sa headerom (koji je razlicit za svaki format) ucita a posle i prikaze...Takodje slika ce biti smjestena u bafer u memoriji tako da mi treba nesto sto prikazuje sliku iz bafera a ne da mu se da putanja do slike...Treba mi neka uputa ili tutorial na koji nacin mogu to da izvedem...Ne znam sta vise od detalja da navedem :)
 
Da li je aplikacija dialog based ili je u pitanju mdi ili sdi aplikacija sa doc-view arhitekturom? Gde zelis da prikazes sliku... U dijalogu ili view-based prozoru?

http://openil.sourceforge.net/
Ova biblioteka ucitava sve i svasta sa diska ili iz memorije.. samo treba dekomresovanu sliku prikazati.
 
Poslednja izmena:
Slika bi trebala da se prikaze u View-Based prozoru...Dakle to je aplikacija cija je osnovna namjena prikaz SVG crteza ali se nekad u SVG crtezima nalazi embeded slika (kako sam vidio uglavnom u bmp,jpg,gif ili png formatu, druge nisam vidio)...
Ta slika je kodirana sa Base64 pa prvo trebam da je dekodiram i smjestim u neki bafer (za to ima funkcija u Visual C++ kako sam vidio)...Nakon toga u baferu imam sliku ali ne samo njen znacajni dio nego sve zajedno sa headerom...
Treba mi nacin kako da prikazem tu sliku iz tog bafera u kom mi bude...Nasao sam na netu kako se prikazuju bitmapi i probao ali mi ni to nije iscrtavalo sliku kako treba (jer ne razdvaja header, a pokusao sam i sa pomjeranjem za 54 bajta (velicina bmp headera) ali je bar nesto iscrtavalo...
Znaci trazim nesto sto vec postoji u Visual C++ i MFC da mogu da iskoristim a da ne koristim necije tudje open-source biblioteke...Najbolje bi bilo kad bi me neko mogao uputiti gdje da skinem neku knjigu koja se bavi sa GDI, GDI+ ili MFC i objasnjava klase i funkcije koje postoje tu i kako se mogu iskoristiti i cemu tacno sluze svi ti parametri (MSDN ne daje puno informacija :(()...
E da ima jos i jedna stvar, aplikacija mi koristi OpenGL za prikaz SVG vektorske grafike tako da bi mogao da mi posluzi i neki tutorial kako bi se mozda mogle slike prikazati putem openGL...Trazim na netu vec 3-4 dana sve ovo na razne nacine na Google ali ne nalazim nista sto bi mi pomoglo :)
 
Ako koristis OpenGL onda iskoristi gore pomenuti OpenIL. On direktno ucitava sliku u texturu koju potom mozes iscrtati gde god hoces, uvecanu, umanjenu, rotiranu...

MFC nema skoro nikakvu podrsku za rad sa slikama. MFC je samo wrapper oko Win32 API-a. Ili iskoristi neko postojece resenje (OpenIL) ili sed i sam kucaj dekompresore.

Drugo, posto crtas SVG pomocu OpenGL-a, nemozes crtati GDI (BITMAP) objekat preko OpenGL contexta, jer ce sve da ti treperi. Isto vazi i za GDI+ koji interno koristi DirectX7 ili 8. Sliku moras crtati iz OpenGL-a.
 
Ako koristis OpenGL onda iskoristi gore pomenuti OpenIL. On direktno ucitava sliku u texturu koju potom mozes iscrtati gde god hoces, uvecanu, umanjenu, rotiranu...

MFC nema skoro nikakvu podrsku za rad sa slikama. MFC je samo wrapper oko Win32 API-a. Ili iskoristi neko postojece resenje (OpenIL) ili sed i sam kucaj dekompresore.

Drugo, posto crtas SVG pomocu OpenGL-a, nemozes crtati GDI (BITMAP) objekat preko OpenGL contexta, jer ce sve da ti treperi. Isto vazi i za GDI+ koji interno koristi DirectX7 ili 8. Sliku moras crtati iz OpenGL-a.

E ovo je uputa...:D
Hvala puno na ovako detaljnom objasnjenju...Jel to znaci da OpenGL bibilioteka koju Visual C++ posjeduje nema potrebne funkcije za ucitavanje i prikaz slike ili?
 
Ne.. OpenGL NEMA podrsku za ucitavanje slika. To je 3D API. Ocekuje se da aplikacija ucita sliku i onda je raspakovanu preda OpenGL-u na dalje koriscenje.
 
Ne.. OpenGL NEMA podrsku za ucitavanje slika. To je 3D API. Ocekuje se da aplikacija ucita sliku i onda je raspakovanu preda OpenGL-u na dalje koriscenje.

Aha...Ok...Cek znaci openGL cita podatke bmp formata bez headera (to je valjda nekompresovana slika) a za sve ostale moram da sredim da se raspakuju???Mhm...Ne znam koliko je to komplikovano :)
 
ja bih Qt da se pitam :)
 
bolje pocni odma, posle ce ti bude kasno :p
 
Jos prostije.. OpenGL zahteva sledeci opis slike: pointer na prvi pixel, sirinu, visinu, pixelformat (RGB, RGBA, BGR, BGRA) i tip (byte, float, ...)
Ah.. umalo da zaboravim, ... dimenzije texture moraju biti u stepenu dvojke... npr. 128x128 ili 256x512, itd.. Moze biti i bez tih ogranicenja ako driver podrzava GL_TEXTURE_RECTANGLE_ARB ili driver prijavljuje verziju OpenGL 2.0 (podrska za non-power of two texture).
 
Qt ima opengl widget tako da ne mora da se pati.. podrzava sve standardne graficke formate pa i svg.. tako da, nemam pojma sta tu MFC ima da se pita
 
Vrh Dno