GDI+ Bitmap bm1(L"C:\\Test.bmp") umschreiben
-
Hallo und guten Morgen.
Stehe Grad vor einem Problem. Und zwar muss ich ein Bitmap von der GDI+ Klasse anlegen mit dem BefehlBitmap bm1(L"C:\\Test.bmp")
Funktioniert auch wunderbarbis auf eins. Bei mir steht der Programmpfad in einer Variable m_strTest. D.h. ich muss das L"C:\\Test.bmp" ersetzen durch m_strTest was ich aber einfach nicht hinbekommen, weil der Parameter ein const wchar ist und ich das grosse L brauche um ihm zu sagen dass es eine Konstante ist. Hat jemand eine Idee wie ich das ummodeln könnte.
Vielen Dank
-
Hallo!
Falls
m_strTest
noch nicht den Dateinamen enthält:// Die "\\" nur verwenden wenn der Pfad nicht mit "\\" endet m_strTest += _T("\\Test.bmp");
Ich gehe jetzt mal davon aus, dass m_strTest ein CString Objekt ist.
// Für CString-Objekt Bitmap bmp(m_strTest.GetString()); // Für std::(w)string-Objekt Bitmap bmp(m_strTest.c_str());
Das sollte Dir weiterhelfen.
-
Hi,
ja hilft mir auf jedenfall schonmal weiter. Jetzt ist nur das Problem, dass ich ein const wchar brauche.
Meldung:
Konvertierung des Parameters 1 von 'const char *' in 'const WCHAR *' nicht möglich
Hast dafür auch noch ne Idee ?
-
Hallo!
pmb schrieb:
Konvertierung des Parameters 1 von 'const char *' in 'const WCHAR *' nicht möglich
Hast dafür auch noch ne Idee ?Zum Einen - was zu empfehlen wäre - könntest Du als "Character Set" Unicode wählen, zum Anderen könntest Du die ATL zur Hilfe nehmen. Genauer gesagt CA2WEX
Bitmap bmp(CA2W(m_strTest.GetString()));
-
Hi!
Ich mache das so:
void ImageOpen() { static char szFilter[]="Alle Dateien (*.*)|*.*||"; CFileDialog dlgFile(TRUE, "*.JPG", this->m_filename, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter); //Dateiauswahl aufrufen if(dlgFile.DoModal() == IDOK) { //Datei wurde mit OK ausgewählt, Pfad speichern this->m_filename = dlgFile.GetPathName(); Gdiplus::Bitmap gdibmp(this->m_filename.AllocSysString()); } }
Die Methode AllocSysString() von CString gibt dir genau das zurück, was der Konstruktur des GDI+ Bitmaps braucht.
Gruß
-
Danke, hat alles wunderbargeklappt.
Hab die Lösung von HaJo verwendet
Gruss