Hi!
Ich habe vor kurzem angefangen mit Visual c++ zu programmieren und möchte nun in meine SDI Anwendung in einem Picture Control ein jpg. einfügen, weiß allerdings nicht wie und finde nur Funktionen zum einfügen von bitmaps. Daher versuche ich nun das jpg in bitmap zu konvertieren. Dazu verwende ich folgenden Quellcode:
void CMaske::OnBnClickedBild()
{
// Benötigte Variablen erstellen
CFileDialog m_File(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Bilder (*.bmp) (*.jpg)|*.bmp;*.jpg;||");
CString str_filename;
char Zeichen;
CImage bild;
// File Dialog öffnen und Ergebnis auffangen
if(m_File.DoModal()==IDOK)
{
// Gewählten Dateinamen ermitteln
str_filename=m_File.GetPathName();
CString filename = str_filename.Left(
str_filename.Find('.')) + ".bmp";
bild.Save(filename);
// Länge des Dateinamens ermitteln
int laenge=filename.GetLength();
// Alle \ mit \\ ersetzen
for(int i = 0; i < laenge; i++)
{
Zeichen=filename.GetAt(i);
if(Zeichen=='\\')
{
filename.Insert(i, "\\");
i+=1;
}
}
// Bild anzeigen
m_ctlbild.SetBitmap((HBITMAP)LoadImage( NULL ,filename ,IMAGE_BITMAP , 100 , 120 , LR_LOADFROMFILE | LR_CREATEDIBSECTION ));
}
Ich habe die ganze Sache mal in dem "Debug-Modus" laufen lassen und der filename wurde tatsächlich in die Endung ".bmp" verwandelt, nur angezeigt wird das Bild immernoch nicht. Nur bitmaps sind sichtbar!
(
Fällt euch vielleicht was dazu ein?
LG Jasmin
Ich habe vor kurzem angefangen mit Visual c++ zu programmieren und möchte nun in meine SDI Anwendung in einem Picture Control ein jpg. einfügen, weiß allerdings nicht wie und finde nur Funktionen zum einfügen von bitmaps. Daher versuche ich nun das jpg in bitmap zu konvertieren. Dazu verwende ich folgenden Quellcode:
void CMaske::OnBnClickedBild()
{
// Benötigte Variablen erstellen
CFileDialog m_File(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Bilder (*.bmp) (*.jpg)|*.bmp;*.jpg;||");
CString str_filename;
char Zeichen;
CImage bild;
// File Dialog öffnen und Ergebnis auffangen
if(m_File.DoModal()==IDOK)
{
// Gewählten Dateinamen ermitteln
str_filename=m_File.GetPathName();
CString filename = str_filename.Left(
str_filename.Find('.')) + ".bmp";
bild.Save(filename);
// Länge des Dateinamens ermitteln
int laenge=filename.GetLength();
// Alle \ mit \\ ersetzen
for(int i = 0; i < laenge; i++)
{
Zeichen=filename.GetAt(i);
if(Zeichen=='\\')
{
filename.Insert(i, "\\");
i+=1;
}
}
// Bild anzeigen
m_ctlbild.SetBitmap((HBITMAP)LoadImage( NULL ,filename ,IMAGE_BITMAP , 100 , 120 , LR_LOADFROMFILE | LR_CREATEDIBSECTION ));
}
Ich habe die ganze Sache mal in dem "Debug-Modus" laufen lassen und der filename wurde tatsächlich in die Endung ".bmp" verwandelt, nur angezeigt wird das Bild immernoch nicht. Nur bitmaps sind sichtbar!

Fällt euch vielleicht was dazu ein?
LG Jasmin