How to draw image on a window?












9















I have created a window with createwindow() api using VS2005 in C++ on Windows Vista



My requirement is to draw an image (of any format) on that window. I am not using any MFC in this application.










share|improve this question





























    9















    I have created a window with createwindow() api using VS2005 in C++ on Windows Vista



    My requirement is to draw an image (of any format) on that window. I am not using any MFC in this application.










    share|improve this question



























      9












      9








      9


      5






      I have created a window with createwindow() api using VS2005 in C++ on Windows Vista



      My requirement is to draw an image (of any format) on that window. I am not using any MFC in this application.










      share|improve this question
















      I have created a window with createwindow() api using VS2005 in C++ on Windows Vista



      My requirement is to draw an image (of any format) on that window. I am not using any MFC in this application.







      windows winapi createwindow






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 1 at 19:21









      halfer

      14.6k758113




      14.6k758113










      asked Nov 17 '09 at 12:17









      Vinayaka KarjigiVinayaka Karjigi

      53151030




      53151030
























          2 Answers
          2






          active

          oldest

          votes


















          26














          not exactly sure what is your problem: draw a bitmap on the form, or you would like know how to work with various image formats, or both. Anyways below is an example of how you could load a bitmap and draw it on the form:



          HBITMAP hBitmap = NULL;

          LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
          {
          int wmId, wmEvent;

          switch (message)
          {
          <...>

          case WM_CREATE:
          hBitmap = (HBITMAP)LoadImage(hInst, L"c:\test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
          break;
          case WM_PAINT:
          PAINTSTRUCT ps;
          HDC hdc;
          BITMAP bitmap;
          HDC hdcMem;
          HGDIOBJ oldBitmap;

          hdc = BeginPaint(hWnd, &ps);

          hdcMem = CreateCompatibleDC(hdc);
          oldBitmap = SelectObject(hdcMem, hBitmap);

          GetObject(hBitmap, sizeof(bitmap), &bitmap);
          BitBlt(hdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCCOPY);

          SelectObject(hdcMem, oldBitmap);
          DeleteDC(hdcMem);

          EndPaint(hWnd, &ps);
          break;
          case WM_DESTROY:
          DeleteObject(hBitmap);
          PostQuitMessage(0);
          break;
          default:
          return DefWindowProc(hWnd, message, wParam, lParam);
          }
          return 0;
          }


          LoadImage loads an icon, cursor, animated cursor, or bitmap. Details here



          For working with various images formats you can use Windows Imaging Component (see IWICBitmapDecoder) or code from here Loading JPEG and GIF pictures or 3rd party tools like FreeImage or LeadTools



          hope this helps, regards






          share|improve this answer
























          • Hi Serge, it solved my problem of drawing image on window. thanks for the help. but as this takes only bmp,cur and ico files, i need to work on converting png to bmp and then i will pass that bmp to this function

            – Vinayaka Karjigi
            Nov 19 '09 at 4:40











          • can anybody guide me in putting png image on window without using any MFC

            – Vinayaka Karjigi
            Nov 23 '09 at 5:42






          • 2





            If I can save someone a few minutes of searching around, I tried using this answer but it didn't work. After a while of poking I tried to change the sizeof(bitmap) to sizeof(BITMAP) and the code worked. I'm using Visual Studio 2015 on Windows 10. Heres the full line : GetObject(hBitmap, sizeof(BITMAP), &bitmap);

            – Tristan Dubé
            Aug 2 '16 at 1:34



















          3














          void LoadScreen(HWND hWnd) {
          RECT rect;
          HDC hdc = GetDC(hWnd);
          HBRUSH brush = CreatePatternBrush((HBITMAP)LoadImage(NULL, L"file.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE));
          GetWindowRect(hWnd, &rect);
          FillRect(hdc, &rect, brush);
          DeleteObject(brush);
          ReleaseDC(hWnd, hdc);
          }





          share|improve this answer





















          • 2





            And the leaked HDC that was never released upon function exit? Windows GDI rules 101: If you Get it, then Release it; if you Create it, then Delete it. You did this correctly with your brush (Create/Delete), but failed to do so with your client DC (Get/Release).

            – WhozCraig
            May 1 '17 at 22:46






          • 1





            Ah, thanks :) I resolved it. Just added one line before closing the curly bracket. ReleaseDC(hWnd, hdc);

            – Ahmed Hussein
            May 1 '17 at 23:36













          • Functionality wise, how does this compare to serge_gubenko's answer?

            – Steven M. Vascellaro
            Aug 2 '18 at 14:46











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f1748470%2fhow-to-draw-image-on-a-window%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          26














          not exactly sure what is your problem: draw a bitmap on the form, or you would like know how to work with various image formats, or both. Anyways below is an example of how you could load a bitmap and draw it on the form:



          HBITMAP hBitmap = NULL;

          LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
          {
          int wmId, wmEvent;

          switch (message)
          {
          <...>

          case WM_CREATE:
          hBitmap = (HBITMAP)LoadImage(hInst, L"c:\test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
          break;
          case WM_PAINT:
          PAINTSTRUCT ps;
          HDC hdc;
          BITMAP bitmap;
          HDC hdcMem;
          HGDIOBJ oldBitmap;

          hdc = BeginPaint(hWnd, &ps);

          hdcMem = CreateCompatibleDC(hdc);
          oldBitmap = SelectObject(hdcMem, hBitmap);

          GetObject(hBitmap, sizeof(bitmap), &bitmap);
          BitBlt(hdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCCOPY);

          SelectObject(hdcMem, oldBitmap);
          DeleteDC(hdcMem);

          EndPaint(hWnd, &ps);
          break;
          case WM_DESTROY:
          DeleteObject(hBitmap);
          PostQuitMessage(0);
          break;
          default:
          return DefWindowProc(hWnd, message, wParam, lParam);
          }
          return 0;
          }


          LoadImage loads an icon, cursor, animated cursor, or bitmap. Details here



          For working with various images formats you can use Windows Imaging Component (see IWICBitmapDecoder) or code from here Loading JPEG and GIF pictures or 3rd party tools like FreeImage or LeadTools



          hope this helps, regards






          share|improve this answer
























          • Hi Serge, it solved my problem of drawing image on window. thanks for the help. but as this takes only bmp,cur and ico files, i need to work on converting png to bmp and then i will pass that bmp to this function

            – Vinayaka Karjigi
            Nov 19 '09 at 4:40











          • can anybody guide me in putting png image on window without using any MFC

            – Vinayaka Karjigi
            Nov 23 '09 at 5:42






          • 2





            If I can save someone a few minutes of searching around, I tried using this answer but it didn't work. After a while of poking I tried to change the sizeof(bitmap) to sizeof(BITMAP) and the code worked. I'm using Visual Studio 2015 on Windows 10. Heres the full line : GetObject(hBitmap, sizeof(BITMAP), &bitmap);

            – Tristan Dubé
            Aug 2 '16 at 1:34
















          26














          not exactly sure what is your problem: draw a bitmap on the form, or you would like know how to work with various image formats, or both. Anyways below is an example of how you could load a bitmap and draw it on the form:



          HBITMAP hBitmap = NULL;

          LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
          {
          int wmId, wmEvent;

          switch (message)
          {
          <...>

          case WM_CREATE:
          hBitmap = (HBITMAP)LoadImage(hInst, L"c:\test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
          break;
          case WM_PAINT:
          PAINTSTRUCT ps;
          HDC hdc;
          BITMAP bitmap;
          HDC hdcMem;
          HGDIOBJ oldBitmap;

          hdc = BeginPaint(hWnd, &ps);

          hdcMem = CreateCompatibleDC(hdc);
          oldBitmap = SelectObject(hdcMem, hBitmap);

          GetObject(hBitmap, sizeof(bitmap), &bitmap);
          BitBlt(hdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCCOPY);

          SelectObject(hdcMem, oldBitmap);
          DeleteDC(hdcMem);

          EndPaint(hWnd, &ps);
          break;
          case WM_DESTROY:
          DeleteObject(hBitmap);
          PostQuitMessage(0);
          break;
          default:
          return DefWindowProc(hWnd, message, wParam, lParam);
          }
          return 0;
          }


          LoadImage loads an icon, cursor, animated cursor, or bitmap. Details here



          For working with various images formats you can use Windows Imaging Component (see IWICBitmapDecoder) or code from here Loading JPEG and GIF pictures or 3rd party tools like FreeImage or LeadTools



          hope this helps, regards






          share|improve this answer
























          • Hi Serge, it solved my problem of drawing image on window. thanks for the help. but as this takes only bmp,cur and ico files, i need to work on converting png to bmp and then i will pass that bmp to this function

            – Vinayaka Karjigi
            Nov 19 '09 at 4:40











          • can anybody guide me in putting png image on window without using any MFC

            – Vinayaka Karjigi
            Nov 23 '09 at 5:42






          • 2





            If I can save someone a few minutes of searching around, I tried using this answer but it didn't work. After a while of poking I tried to change the sizeof(bitmap) to sizeof(BITMAP) and the code worked. I'm using Visual Studio 2015 on Windows 10. Heres the full line : GetObject(hBitmap, sizeof(BITMAP), &bitmap);

            – Tristan Dubé
            Aug 2 '16 at 1:34














          26












          26








          26







          not exactly sure what is your problem: draw a bitmap on the form, or you would like know how to work with various image formats, or both. Anyways below is an example of how you could load a bitmap and draw it on the form:



          HBITMAP hBitmap = NULL;

          LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
          {
          int wmId, wmEvent;

          switch (message)
          {
          <...>

          case WM_CREATE:
          hBitmap = (HBITMAP)LoadImage(hInst, L"c:\test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
          break;
          case WM_PAINT:
          PAINTSTRUCT ps;
          HDC hdc;
          BITMAP bitmap;
          HDC hdcMem;
          HGDIOBJ oldBitmap;

          hdc = BeginPaint(hWnd, &ps);

          hdcMem = CreateCompatibleDC(hdc);
          oldBitmap = SelectObject(hdcMem, hBitmap);

          GetObject(hBitmap, sizeof(bitmap), &bitmap);
          BitBlt(hdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCCOPY);

          SelectObject(hdcMem, oldBitmap);
          DeleteDC(hdcMem);

          EndPaint(hWnd, &ps);
          break;
          case WM_DESTROY:
          DeleteObject(hBitmap);
          PostQuitMessage(0);
          break;
          default:
          return DefWindowProc(hWnd, message, wParam, lParam);
          }
          return 0;
          }


          LoadImage loads an icon, cursor, animated cursor, or bitmap. Details here



          For working with various images formats you can use Windows Imaging Component (see IWICBitmapDecoder) or code from here Loading JPEG and GIF pictures or 3rd party tools like FreeImage or LeadTools



          hope this helps, regards






          share|improve this answer













          not exactly sure what is your problem: draw a bitmap on the form, or you would like know how to work with various image formats, or both. Anyways below is an example of how you could load a bitmap and draw it on the form:



          HBITMAP hBitmap = NULL;

          LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
          {
          int wmId, wmEvent;

          switch (message)
          {
          <...>

          case WM_CREATE:
          hBitmap = (HBITMAP)LoadImage(hInst, L"c:\test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
          break;
          case WM_PAINT:
          PAINTSTRUCT ps;
          HDC hdc;
          BITMAP bitmap;
          HDC hdcMem;
          HGDIOBJ oldBitmap;

          hdc = BeginPaint(hWnd, &ps);

          hdcMem = CreateCompatibleDC(hdc);
          oldBitmap = SelectObject(hdcMem, hBitmap);

          GetObject(hBitmap, sizeof(bitmap), &bitmap);
          BitBlt(hdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, hdcMem, 0, 0, SRCCOPY);

          SelectObject(hdcMem, oldBitmap);
          DeleteDC(hdcMem);

          EndPaint(hWnd, &ps);
          break;
          case WM_DESTROY:
          DeleteObject(hBitmap);
          PostQuitMessage(0);
          break;
          default:
          return DefWindowProc(hWnd, message, wParam, lParam);
          }
          return 0;
          }


          LoadImage loads an icon, cursor, animated cursor, or bitmap. Details here



          For working with various images formats you can use Windows Imaging Component (see IWICBitmapDecoder) or code from here Loading JPEG and GIF pictures or 3rd party tools like FreeImage or LeadTools



          hope this helps, regards







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 19 '09 at 2:43









          serge_gubenkoserge_gubenko

          17.2k24455




          17.2k24455













          • Hi Serge, it solved my problem of drawing image on window. thanks for the help. but as this takes only bmp,cur and ico files, i need to work on converting png to bmp and then i will pass that bmp to this function

            – Vinayaka Karjigi
            Nov 19 '09 at 4:40











          • can anybody guide me in putting png image on window without using any MFC

            – Vinayaka Karjigi
            Nov 23 '09 at 5:42






          • 2





            If I can save someone a few minutes of searching around, I tried using this answer but it didn't work. After a while of poking I tried to change the sizeof(bitmap) to sizeof(BITMAP) and the code worked. I'm using Visual Studio 2015 on Windows 10. Heres the full line : GetObject(hBitmap, sizeof(BITMAP), &bitmap);

            – Tristan Dubé
            Aug 2 '16 at 1:34



















          • Hi Serge, it solved my problem of drawing image on window. thanks for the help. but as this takes only bmp,cur and ico files, i need to work on converting png to bmp and then i will pass that bmp to this function

            – Vinayaka Karjigi
            Nov 19 '09 at 4:40











          • can anybody guide me in putting png image on window without using any MFC

            – Vinayaka Karjigi
            Nov 23 '09 at 5:42






          • 2





            If I can save someone a few minutes of searching around, I tried using this answer but it didn't work. After a while of poking I tried to change the sizeof(bitmap) to sizeof(BITMAP) and the code worked. I'm using Visual Studio 2015 on Windows 10. Heres the full line : GetObject(hBitmap, sizeof(BITMAP), &bitmap);

            – Tristan Dubé
            Aug 2 '16 at 1:34

















          Hi Serge, it solved my problem of drawing image on window. thanks for the help. but as this takes only bmp,cur and ico files, i need to work on converting png to bmp and then i will pass that bmp to this function

          – Vinayaka Karjigi
          Nov 19 '09 at 4:40





          Hi Serge, it solved my problem of drawing image on window. thanks for the help. but as this takes only bmp,cur and ico files, i need to work on converting png to bmp and then i will pass that bmp to this function

          – Vinayaka Karjigi
          Nov 19 '09 at 4:40













          can anybody guide me in putting png image on window without using any MFC

          – Vinayaka Karjigi
          Nov 23 '09 at 5:42





          can anybody guide me in putting png image on window without using any MFC

          – Vinayaka Karjigi
          Nov 23 '09 at 5:42




          2




          2





          If I can save someone a few minutes of searching around, I tried using this answer but it didn't work. After a while of poking I tried to change the sizeof(bitmap) to sizeof(BITMAP) and the code worked. I'm using Visual Studio 2015 on Windows 10. Heres the full line : GetObject(hBitmap, sizeof(BITMAP), &bitmap);

          – Tristan Dubé
          Aug 2 '16 at 1:34





          If I can save someone a few minutes of searching around, I tried using this answer but it didn't work. After a while of poking I tried to change the sizeof(bitmap) to sizeof(BITMAP) and the code worked. I'm using Visual Studio 2015 on Windows 10. Heres the full line : GetObject(hBitmap, sizeof(BITMAP), &bitmap);

          – Tristan Dubé
          Aug 2 '16 at 1:34













          3














          void LoadScreen(HWND hWnd) {
          RECT rect;
          HDC hdc = GetDC(hWnd);
          HBRUSH brush = CreatePatternBrush((HBITMAP)LoadImage(NULL, L"file.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE));
          GetWindowRect(hWnd, &rect);
          FillRect(hdc, &rect, brush);
          DeleteObject(brush);
          ReleaseDC(hWnd, hdc);
          }





          share|improve this answer





















          • 2





            And the leaked HDC that was never released upon function exit? Windows GDI rules 101: If you Get it, then Release it; if you Create it, then Delete it. You did this correctly with your brush (Create/Delete), but failed to do so with your client DC (Get/Release).

            – WhozCraig
            May 1 '17 at 22:46






          • 1





            Ah, thanks :) I resolved it. Just added one line before closing the curly bracket. ReleaseDC(hWnd, hdc);

            – Ahmed Hussein
            May 1 '17 at 23:36













          • Functionality wise, how does this compare to serge_gubenko's answer?

            – Steven M. Vascellaro
            Aug 2 '18 at 14:46
















          3














          void LoadScreen(HWND hWnd) {
          RECT rect;
          HDC hdc = GetDC(hWnd);
          HBRUSH brush = CreatePatternBrush((HBITMAP)LoadImage(NULL, L"file.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE));
          GetWindowRect(hWnd, &rect);
          FillRect(hdc, &rect, brush);
          DeleteObject(brush);
          ReleaseDC(hWnd, hdc);
          }





          share|improve this answer





















          • 2





            And the leaked HDC that was never released upon function exit? Windows GDI rules 101: If you Get it, then Release it; if you Create it, then Delete it. You did this correctly with your brush (Create/Delete), but failed to do so with your client DC (Get/Release).

            – WhozCraig
            May 1 '17 at 22:46






          • 1





            Ah, thanks :) I resolved it. Just added one line before closing the curly bracket. ReleaseDC(hWnd, hdc);

            – Ahmed Hussein
            May 1 '17 at 23:36













          • Functionality wise, how does this compare to serge_gubenko's answer?

            – Steven M. Vascellaro
            Aug 2 '18 at 14:46














          3












          3








          3







          void LoadScreen(HWND hWnd) {
          RECT rect;
          HDC hdc = GetDC(hWnd);
          HBRUSH brush = CreatePatternBrush((HBITMAP)LoadImage(NULL, L"file.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE));
          GetWindowRect(hWnd, &rect);
          FillRect(hdc, &rect, brush);
          DeleteObject(brush);
          ReleaseDC(hWnd, hdc);
          }





          share|improve this answer















          void LoadScreen(HWND hWnd) {
          RECT rect;
          HDC hdc = GetDC(hWnd);
          HBRUSH brush = CreatePatternBrush((HBITMAP)LoadImage(NULL, L"file.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE));
          GetWindowRect(hWnd, &rect);
          FillRect(hdc, &rect, brush);
          DeleteObject(brush);
          ReleaseDC(hWnd, hdc);
          }






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Sep 8 '17 at 9:18









          Bja

          13717




          13717










          answered May 1 '17 at 21:13









          Ahmed HusseinAhmed Hussein

          3181622




          3181622








          • 2





            And the leaked HDC that was never released upon function exit? Windows GDI rules 101: If you Get it, then Release it; if you Create it, then Delete it. You did this correctly with your brush (Create/Delete), but failed to do so with your client DC (Get/Release).

            – WhozCraig
            May 1 '17 at 22:46






          • 1





            Ah, thanks :) I resolved it. Just added one line before closing the curly bracket. ReleaseDC(hWnd, hdc);

            – Ahmed Hussein
            May 1 '17 at 23:36













          • Functionality wise, how does this compare to serge_gubenko's answer?

            – Steven M. Vascellaro
            Aug 2 '18 at 14:46














          • 2





            And the leaked HDC that was never released upon function exit? Windows GDI rules 101: If you Get it, then Release it; if you Create it, then Delete it. You did this correctly with your brush (Create/Delete), but failed to do so with your client DC (Get/Release).

            – WhozCraig
            May 1 '17 at 22:46






          • 1





            Ah, thanks :) I resolved it. Just added one line before closing the curly bracket. ReleaseDC(hWnd, hdc);

            – Ahmed Hussein
            May 1 '17 at 23:36













          • Functionality wise, how does this compare to serge_gubenko's answer?

            – Steven M. Vascellaro
            Aug 2 '18 at 14:46








          2




          2





          And the leaked HDC that was never released upon function exit? Windows GDI rules 101: If you Get it, then Release it; if you Create it, then Delete it. You did this correctly with your brush (Create/Delete), but failed to do so with your client DC (Get/Release).

          – WhozCraig
          May 1 '17 at 22:46





          And the leaked HDC that was never released upon function exit? Windows GDI rules 101: If you Get it, then Release it; if you Create it, then Delete it. You did this correctly with your brush (Create/Delete), but failed to do so with your client DC (Get/Release).

          – WhozCraig
          May 1 '17 at 22:46




          1




          1





          Ah, thanks :) I resolved it. Just added one line before closing the curly bracket. ReleaseDC(hWnd, hdc);

          – Ahmed Hussein
          May 1 '17 at 23:36







          Ah, thanks :) I resolved it. Just added one line before closing the curly bracket. ReleaseDC(hWnd, hdc);

          – Ahmed Hussein
          May 1 '17 at 23:36















          Functionality wise, how does this compare to serge_gubenko's answer?

          – Steven M. Vascellaro
          Aug 2 '18 at 14:46





          Functionality wise, how does this compare to serge_gubenko's answer?

          – Steven M. Vascellaro
          Aug 2 '18 at 14:46


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f1748470%2fhow-to-draw-image-on-a-window%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Monofisismo

          Angular Downloading a file using contenturl with Basic Authentication

          Olmecas