Jpg anzeigen??
-
Eine Frage :
Betsteht die Möglichkeit jpg im Dialogfenster in der Picture Control anzuzeigen?Bisher kann ich nur bmp anzeigen!
-
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39074.html
Du könntest ebenfalls eine Klasse die sowas implementiert von www.codeproject.com nutzen... (beispiel: CXImage)
-
Was ich hier habe stellt mit einen Bmp dar.
Und jetzt will ich einfach, dass es auch jpgs darstelllen kann.Vielleicht ist es ja nur eine kleine Änderung???
m_ctlBild ist die Member Variable zu meiner Picture Control....void CmfcclientDlg::OnOpen() { m_iMode = 1; CFileDialog dlg(TRUE, _T("*.bmp"), "", OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|OFN_HIDEREADONLY, "JPG files (*.jpg)|*.jpg|BMP files (*.bmp) |*.bmp|AVI files (*.avi) |*.avi| All Files (*.*)|*.*||",NULL); char title[]= {"Browse"}; dlg.m_ofn.lpstrTitle= title; char zeichen; if (dlg.DoModal() == IDOK) { CString path= dlg.GetPathName(); if (proc != 0) delete proc; int laenge = path.GetLength(); for (int i = 0; i < laenge;i++) { zeichen = path.GetAt(i); if (zeichen == '\\') { path.Insert(i,"\\"); i+=1; } } m_ctlBild.SetBitmap((HBITMAP) LoadImage (NULL,path, IMAGE_BITMAP, 100,100, LR_LOADFROMFILE | LR_CREATEDIBSECTION)); } }
Wäre toll, wenn ihr mal drübergucken könnt!
-
JPG Dateien haben einen anderen Aufbau wie BMP Dateien. Die LoadImage unterstützt soweit ich das jetzt gesehen habe nur BMP Dateien zu laden.
http://www.codeproject.com/bitmap/cximage.asp
http://www.codeproject.com/vcpp/gdiplus/cgdiplusbitmap.asp
http://www.codeproject.com/bitmap/the_beauty_of_plain_c.asp
http://www.codeproject.com/bitmap/pictureshow.asp
-
Hmm irgendwie alles sehr aufwändig und nicht sehr leicht zu verstehen...
Für mein Problem muss es doch schon irgendwo Code geben. Ich versteh das nicht!
-
Es ist nicht einfacher. Günni zeigt dir schon die leichtesten Wege.
Sobald du was vor hast, was Microsoft nicht in die MFC eingebaut hat, wird es eben etwas schwieriger.Was gefällt dir denn an dem Beitrag aus der FAQ nicht? Ich habe ihn nicht nachgemacht, aber das sieht wirklich einfach aus.
-
Bie dem Eintrag in den FAQ verstehe ich nicht wie ich den am Besten in meinen schon existierenden Code einbauen soll....
I need help !
-
Also, wenn ich deinen Code richtig überblicke, musst du nur unterscheiden, was du anzeigen willst:
if (path.Find(".bmp") != -1)//ist es ein bmp? { m_ctlBild.SetBitmap((HBITMAP) LoadImage (NULL,path, IMAGE_BITMAP, 100,100, LR_LOADFROMFILE | LR_CREATEDIBSECTION)); } else // es ist ein jpg { // Code aus der Faq einpassen }
-
Also ich denke es werden immer jpgs sein, aber die Abfrage ist ja schon wichtig, oder ich sollte im Filedialog nur auf jpg umstellen!
Und genau hier liegt das Problem:
else // es ist ein jpg
{
// Code aus der Faq einpassen !!!!!!!!!!!!!!!!!!!!!!
}
-
Kommst du mit dem hier vielleicht besser klar?
http://www.c-plusplus.net/forum/viewtopic-var-t-is-54279.html
-
Cool.
Das ist genau richtig
Ich probiers mal aus, und werde Feedback geben! DANKE!