<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=2336032</guid>
        <pubDate>Thu, 13 Aug 2009 15:40:57 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=2336032</link>
        <description><![CDATA[ElcnU: <strong class='tag-b'>SunFlower</strong>, выложи свой проект]]></description>
        <author>ElcnU</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=2336021</guid>
        <pubDate>Thu, 13 Aug 2009 15:35:52 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=2336021</link>
        <description><![CDATA[SunFlower: <strong class='tag-b'>miksayer</strong><br>
там не только эта 1 ошибка. их 140 где-то  :wacko: <br>
у меня МVS 2005 компилятор...]]></description>
        <author>SunFlower</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=2335284</guid>
        <pubDate>Wed, 12 Aug 2009 19:29:37 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=2335284</link>
        <description><![CDATA[miksayer: <strong class='tag-b'>SunFlower</strong>, просто в одном из вызовов функций нужно один из параметров привести к другому типу(там передается int, а надо что-то другое) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2009-08-12T19:31:56+00:00">12.08.09, 19:31</time></span></span><br>
хм, у меня все собралось(MSVC 2008). А какой у тебя компилятор?]]></description>
        <author>miksayer</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=2335131</guid>
        <pubDate>Wed, 12 Aug 2009 14:10:07 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=2335131</link>
        <description><![CDATA[SunFlower: этот код у меня не компилитса :(<br>выбрасывает кучу ошибок типа:<br>error C4430: missing type specifier - int assumed. Note: C++ does not support default-int	c:&#092;program files&#092;microsoft visual studio 8&#092;vc&#092;platformsdk&#092;include&#092;gdiplusimaging.h :&#39;(<br>это ведь не мои файлы, а gdi+]]></description>
        <author>SunFlower</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=2335112</guid>
        <pubDate>Wed, 12 Aug 2009 13:49:58 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=2335112</link>
        <description><![CDATA[B.V.: В посте #14 готовый код, SunFlower]]></description>
        <author>B.V.</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=2335104</guid>
        <pubDate>Wed, 12 Aug 2009 13:40:56 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=2335104</link>
        <description><![CDATA[SunFlower: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=209331&view=findpost&p=1755836'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>neooleg &#064; <time class="tag-quote__quoted-time" datetime="2007-11-07T16:39:59+00:00">07.11.07, 16:39</time></span><div class='quote '>Вот начинай отсюда - <a class='tag-url' href='http://rsdn.ru/article/qna/gdi/drawimg.xml' target='_blank'>Вывести картинку в JPEG,GIF,PNG,TIFF средствами Win</a>. Там второй способок, как раз GDI+.</div></div><br>
мне нужно вывести изображение с png файла на экран. нашел ваш форум и эту ссылку: URL=http://rsdn.ru/article/qna/gdi/drawimg.xml<br>
<br>
интересует какого типа должен быть обьект m_pImage.<br>
<br>
функции<br>
HRESULT Load(LPCTSTR szFile)<br>
HRESULT DrawImg(HDC hdc, RECT&amp; rcBounds)<br>
надо добавлять к себе в проэкт или это их реализация в &lt;gdiplus.h&gt;?<br>
тоесть можно ли просто подключить библиотеку и вызывать Load() и DrawImage()?<br>
<br>
ответьте пожалуйста]]></description>
        <author>SunFlower</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761871</guid>
        <pubDate>Mon, 12 Nov 2007 20:51:38 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761871</link>
        <description><![CDATA[Maxidrom: To <strong class='tag-b'>ElcnU</strong><br>
Спасибо огромное]]></description>
        <author>Maxidrom</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761829</guid>
        <pubDate>Mon, 12 Nov 2007 20:25:05 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761829</link>
        <description><![CDATA[ElcnU: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#define _WIN32_WINNT 0x0500</div><div class="code_line">#include &#60;windows.h&#62;</div><div class="code_line">#include &#60;tchar.h&#62;</div><div class="code_line">#include &#60;gdiplus.h&#62;</div><div class="code_line">#pragma comment(lib,&quot;gdiplus.lib&quot;)</div><div class="code_line">LRESULT CALLBACK &nbsp; &nbsp;WndProc(HWND, UINT, WPARAM, LPARAM);</div><div class="code_line">int APIENTRY WinMain(HINSTANCE hInstance,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HINSTANCE hPrevInstance,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; LPSTR &nbsp; &nbsp;lpCmdLine,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int &nbsp; &nbsp; &nbsp; nCmdShow)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;WNDCLASSEX wcex;</div><div class="code_line">&nbsp;&nbsp; &nbsp;wcex.cbSize = sizeof(WNDCLASSEX); </div><div class="code_line">&nbsp;&nbsp; &nbsp;wcex.style &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= CS_HREDRAW | CS_VREDRAW;</div><div class="code_line">&nbsp;&nbsp; &nbsp;wcex.lpfnWndProc &nbsp; &nbsp;= (WNDPROC)WndProc;</div><div class="code_line">&nbsp;&nbsp; &nbsp;wcex.cbClsExtra &nbsp; &nbsp; = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;wcex.cbWndExtra &nbsp; &nbsp; = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;wcex.hInstance &nbsp; &nbsp; &nbsp;= hInstance;</div><div class="code_line">&nbsp;&nbsp; &nbsp;wcex.hIcon &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= NULL;</div><div class="code_line">&nbsp;&nbsp; &nbsp;wcex.hCursor &nbsp; &nbsp; &nbsp; &nbsp;= LoadCursor(NULL, IDC_ARROW);</div><div class="code_line">&nbsp;&nbsp; &nbsp;wcex.hbrBackground &nbsp;= (HBRUSH)(COLOR_WINDOW+1);</div><div class="code_line">&nbsp;&nbsp; &nbsp;wcex.lpszMenuName &nbsp; = NULL;</div><div class="code_line">&nbsp;&nbsp; &nbsp;wcex.lpszClassName &nbsp;= _T(&quot;MyClass&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;wcex.hIconSm &nbsp; &nbsp; &nbsp; &nbsp;= NULL;</div><div class="code_line">&nbsp;&nbsp; &nbsp;RegisterClassEx(&amp;wcex);</div><div class="code_line">&nbsp;&nbsp; &nbsp;HWND hWnd = CreateWindow(wcex.lpszClassName, _T(&quot;MyWnd&quot;), WS_VISIBLE,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);</div><div class="code_line">&nbsp;&nbsp; &nbsp;ShowWindow(hWnd, nCmdShow);</div><div class="code_line">&nbsp;&nbsp; &nbsp;UpdateWindow(hWnd);</div><div class="code_line">&nbsp;&nbsp; &nbsp;MSG msg;</div><div class="code_line">&nbsp;&nbsp; &nbsp;while (::IsWindow(hWnd)&amp;&amp;GetMessage(&amp;msg, NULL, 0, 0)) </div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;TranslateMessage(&amp;msg);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;DispatchMessage(&amp;msg);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;return (int) msg.wParam;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">BITMAPINFO BMI;</div><div class="code_line">using namespace Gdiplus;</div><div class="code_line">ULONG_PTR gdiplusToken;</div><div class="code_line">HDC hCDC;</div><div class="code_line">UINT H,W;</div><div class="code_line">&nbsp;</div><div class="code_line">LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;switch (message) </div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp;case WM_CREATE:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BMI.bmiHeader.biSize=sizeof(BMI.bmiHeader);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BMI.bmiHeader.biBitCount = 32;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BMI.bmiHeader.biHeight = 500;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BMI.bmiHeader.biWidth = 500;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BMI.bmiHeader.biPlanes = 1;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BMI.bmiHeader.biSizeImage = BMI.bmiHeader.biWidth * </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BMI.bmiHeader.biHeight * (BMI.bmiHeader.biBitCount / 8);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;HDC hDTDC=GetDC(NULL);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hCDC = CreateCompatibleDC(hDTDC);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ReleaseDC(NULL,hDTDC);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;HBITMAP hBitmap = CreateDIBSection(hCDC,&amp;BMI, DIB_RGB_COLORS, NULL, 0, 0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;HBITMAP hOldObject = (HBITMAP)SelectObject(hCDC, hBitmap);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GdiplusStartupInput gdiplusStartupInput;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GdiplusStartup(&amp;gdiplusToken, &amp;gdiplusStartupInput, NULL);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GpGraphics *graphics;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DllExports::GdipCreateFromHDC(hCDC, &amp;graphics);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GpImage* image;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DllExports::GdipLoadImageFromFile(L&quot;mspaint.png&quot;,&amp;image);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if(image==NULL)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MessageBox(0,_T(&quot;картинку положи на место&quot;),0,0x10);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PostQuitMessage(0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SetWindowLong(hWnd,GWL_EXSTYLE,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(GetWindowLong(hWnd,GWL_EXSTYLE)|WS_EX_LAYERED&amp;~WS_EX_WINDOWEDGE));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SetWindowLong(hWnd,GWL_STYLE,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(GetWindowLong(hWnd,GWL_STYLE)&amp;~WS_CAPTION));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SetLayeredWindowAttributes(hWnd,0,0,LWA_COLORKEY);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DllExports::GdipGetImageHeight(image, &amp;H);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DllExports::GdipGetImageWidth(image, &amp;W);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SetWindowPos(hWnd,NULL,0,0,W,H,SWP_NOMOVE | SWP_NOZORDER | SWP_FRAMECHANGED);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DllExports::GdipDrawImageRect(graphics, image, 0, 0, (REAL)W, (REAL)H);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp;case WM_PAINT:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PAINTSTRUCT ps;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;HDC hDC=::BeginPaint(hWnd,&amp;ps);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;::BitBlt(hDC,0,0,W,H,hCDC,0,0,SRCCOPY);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;::EndPaint(hWnd,&amp;ps);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;case WM_DESTROY:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;GdiplusShutdown(gdiplusToken);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;PostQuitMessage(0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp;default:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return DefWindowProc(hWnd, message, wParam, lParam);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;return 0;</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>ElcnU</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761604</guid>
        <pubDate>Mon, 12 Nov 2007 16:21:23 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761604</link>
        <description><![CDATA[Maxidrom: Я не могу разобраться с типами данных там везде Dim ... As Long. Не понимаю этого, в инете нашел что это int, тупик вобщем.]]></description>
        <author>Maxidrom</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761557</guid>
        <pubDate>Mon, 12 Nov 2007 15:43:01 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761557</link>
        <description><![CDATA[B.V.: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=209331&view=findpost&p=1761184'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Maxidrom &#064; <time class="tag-quote__quoted-time" datetime="2007-11-12T12:58:26+00:00">12.11.07, 12:58</time></span><div class='quote '>Знаю только C++.</div></div><br>
<br>
Ну, разница невелика. Подключи к проекту gdiplus.h. А что бы не писать все время Gdiplus:: сразу укажи using namespace Gdiplus;... Далее, по-моему, там все интуитивно понятно (в моем примере).]]></description>
        <author>B.V.</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761184</guid>
        <pubDate>Mon, 12 Nov 2007 12:58:26 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761184</link>
        <description><![CDATA[Maxidrom: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'> B.V.</span><div class='quote '><br>
Хм. А какой знаешь?<br>
</div></div><br>
Знаю только C++.<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'> B.V.</span><div class='quote '><br>
PNG? Чем и куда?<br>
</div></div><br>
С помощью GDI+ вывожу PNG в простое окно, считывает попиксельно и учитывает альфу у каждого пиксела.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Graphics g(hDC);</div><div class="code_line">Bitmap myBitmap(L&quot;lol.png&quot;);</div><div class="code_line">Color pixelColor;</div><div class="code_line">for (int i=0; i&#60;256; i++)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; for (int j=0; j&#60;256; j++)</div><div class="code_line">&nbsp;&nbsp; {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;myBitmap.GetPixel(i, j, &amp;pixelColor);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;SolidBrush brush(pixelColor);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;g.FillRectangle(&amp;brush, Rect(i, j, 1, 1));</div><div class="code_line">&nbsp;&nbsp; }</div><div class="code_line">}</div></ol></div></div></div></div><br>
Но как мне это теперь вывести на рабочий стол в я не знаю(((]]></description>
        <author>Maxidrom</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761170</guid>
        <pubDate>Mon, 12 Nov 2007 12:47:56 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761170</link>
        <description><![CDATA[B.V.: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=209331&view=findpost&p=1759152'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Maxidrom &#064; <time class="tag-quote__quoted-time" datetime="2007-11-10T07:34:45+00:00">10.11.07, 07:34</time></span><div class='quote '>Возникли( VB я тоже к сожадению не знаю</div></div><br>
<br>
Хм. А какой знаешь?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=209331&view=findpost&p=1761157'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Maxidrom &#064; <time class="tag-quote__quoted-time" datetime="2007-11-12T12:38:43+00:00">12.11.07, 12:38</time></span><div class='quote '>Вот я научился выводить изображение попиксельно</div></div><br>
<br>
PNG? Чем и куда?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=209331&view=findpost&p=1761157'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Maxidrom &#064; <time class="tag-quote__quoted-time" datetime="2007-11-12T12:38:43+00:00">12.11.07, 12:38</time></span><div class='quote '>кто-нибудь может объяснить как происходит вывод на рабочий стол окна, у которого в разных местах переменная полупрозрачность</div></div><br>
<br>
GDI учитывает альфа-канал и смешивает каждый пиксель формы с пикселем фона...]]></description>
        <author>B.V.</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761157</guid>
        <pubDate>Mon, 12 Nov 2007 12:38:43 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1761157</link>
        <description><![CDATA[Maxidrom: Вот я научился выводить изображение попиксельно, кто-нибудь может объяснить как происходит вывод на рабочий стол окна, у которого в разных местах переменная полупрозрачность. Во всех примерах что я находил и которые мне тут дали используют <strong class='tag-b'>BLENDFUNCTION</strong> и <strong class='tag-b'>UpdateLayeredWindow</strong> и там все получается - отображается окно с разной полупрозрачностью, но я никак не вгоню КАК это происходит, объясните пожалуйста. Заранее благодарен&#33;]]></description>
        <author>Maxidrom</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1759152</guid>
        <pubDate>Sat, 10 Nov 2007 07:34:45 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1759152</link>
        <description><![CDATA[Maxidrom: Возникли( VB я тоже к сожадению не знаю]]></description>
        <author>Maxidrom</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1757091</guid>
        <pubDate>Thu, 08 Nov 2007 15:31:36 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1757091</link>
        <description><![CDATA[B.V.: Пример на VB, с переводом проблем не возникнет?]]></description>
        <author>B.V.</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1757078</guid>
        <pubDate>Thu, 08 Nov 2007 15:24:30 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1757078</link>
        <description><![CDATA[Maxidrom: У меня так ничего и не получилось, вобще есть какие-нибудь DLL для работы с PNG без гемороя? У меня есть проект сделанный на MFC, он умеет выводить PNG (с помощью какой-то imgdecoder.dll) но этот MFC я вообще не понимаю как че там работает. Вот если есть эта dll, можно узнать какие функции она экспортирует?<br><br>З.Ы. с этим PNG уже два дня голову ломаю в итоге у меня return NULL(]]></description>
        <author>Maxidrom</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1755884</guid>
        <pubDate>Wed, 07 Nov 2007 17:39:54 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1755884</link>
        <description><![CDATA[Maxidrom: Спасибо попробую разобраться]]></description>
        <author>Maxidrom</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1755877</guid>
        <pubDate>Wed, 07 Nov 2007 17:32:31 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1755877</link>
        <description><![CDATA[ElcnU: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=209331&view=findpost&p=1755830'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Maxidrom &#064; <time class="tag-quote__quoted-time" datetime="2007-11-07T16:29:46+00:00">07.11.07, 16:29</time></span><div class='quote '>Парни у меня снова возникли проблемы, мне нужно работать с PNG, нужно создать окно на основе PNG.</div></div><br>
регион сделать или просто картинку наляпать?<br>
если регион<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">BOOL SetBitmapRgn(HBITMAP hRgnBitmap)//цвет &quot;прозрачности&quot; определяется по точке(0,0)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;//создание региона по маске</div><div class="code_line">&nbsp;&nbsp; &nbsp;if(hRgnBitmap==NULL)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return FALSE;</div><div class="code_line">&nbsp;&nbsp; &nbsp;HRGN hRgnDest;</div><div class="code_line">&nbsp;&nbsp; &nbsp;HRGN hRgn;</div><div class="code_line">&nbsp;&nbsp; &nbsp;BITMAP bmp; </div><div class="code_line">&nbsp;&nbsp; &nbsp;GetObject(hRgnBitmap, sizeof(BITMAP), (LPSTR)&amp;bmp);</div><div class="code_line">&nbsp;&nbsp; &nbsp;int bpp = bmp.bmBitsPixel &#62;&#62; 3;</div><div class="code_line">&nbsp;&nbsp; &nbsp;BYTE* pBits=new BYTE[bmp.bmWidth*bmp.bmHeight*bpp];</div><div class="code_line">&nbsp;&nbsp; &nbsp;GetBitmapBits(hRgnBitmap,bmp.bmWidth*bmp.bmHeight*bpp,pBits);</div><div class="code_line">&nbsp;&nbsp; &nbsp;DWORD dwTransPixel=*(DWORD*)pBits;</div><div class="code_line">&nbsp;&nbsp; &nbsp;//узнаем цвет прозрачности</div><div class="code_line">&nbsp;&nbsp; &nbsp;dwTransPixel &#60;&#60;= 32 - bmp.bmBitsPixel;</div><div class="code_line">&nbsp;&nbsp; &nbsp;hRgnDest=::CreateRectRgn(0,0,0,0);</div><div class="code_line">&nbsp;&nbsp; &nbsp;//определение непрозрачных точек</div><div class="code_line">&nbsp;&nbsp; &nbsp;for (int i = 0; i &#60; bmp.bmHeight; i++)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;int nStartX=-1;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for (int j = 0; j &#60; bmp.bmWidth; j++)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DWORD dwPixel = *(DWORD*)(pBits + (i * bmp.bmWidth + j) * bpp) &#60;&#60; (32 - bmp.bmBitsPixel);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dwPixel!=dwTransPixel)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (nStartX&#60;0)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nStartX = j;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (j == (bmp.bmWidth - 1))</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hRgn = CreateRectRgn( nStartX, i, j, i + 1 );</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CombineRgn( hRgnDest, hRgnDest, hRgn, RGN_OR);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nStartX=-1;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (nStartX&#62;=0)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hRgn = CreateRectRgn(nStartX, i, j, i + 1);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CombineRgn(hRgnDest, hRgnDest, hRgn, RGN_OR);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nStartX=-1;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;delete[] pBits;</div><div class="code_line">&nbsp;&nbsp; &nbsp;//подключаем созданный регион к окну</div><div class="code_line">&nbsp;&nbsp; &nbsp;::SetWindowRgn(m_hWnd,hRgnDest,TRUE);//где m_hWnd - хендл окна у которого изменяется регион</div><div class="code_line">&nbsp;&nbsp; &nbsp;return TRUE;</div><div class="code_line">}</div></ol></div></div></div></div><br>
но маску думаю лучше задать не посредством png, а при помоши монохромного(для уменьшения размера) bmp, потомучто в png будут наблюдаться неоднородности из-за сжатия...<br>
а скин уже накладывать посредством gdi+, как указал <strong class='tag-b'>neooleg</strong>, хотя если нужна загрузка картинок из ресурсов, то смотрим в сторону конструктора<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Image( &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IStream *stream,</div><div class="code_line">&nbsp;&nbsp; &nbsp;BOOL useEmbeddedColorManagement</div><div class="code_line">);</div></ol></div></div></div></div><br>
ну а как создать stream из ресурса описано в <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=208869&view=getnewpost' target='_blank'>[C++,WinAPI]Загрузка картинки</a>]]></description>
        <author>ElcnU</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1755836</guid>
        <pubDate>Wed, 07 Nov 2007 16:39:59 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1755836</link>
        <description><![CDATA[neooleg: Вот начинай отсюда - <a class='tag-url' href='http://rsdn.ru/article/qna/gdi/drawimg.xml' target='_blank'>Вывести картинку в JPEG,GIF,PNG,TIFF средствами Win</a>. Там второй способок, как раз GDI+.]]></description>
        <author>neooleg</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1755830</guid>
        <pubDate>Wed, 07 Nov 2007 16:29:46 +0000</pubDate>
        <title>Работа с PNG</title>
        <link>https://forum.sources.ru/index.php?showtopic=209331&amp;view=findpost&amp;p=1755830</link>
        <description><![CDATA[Maxidrom: Парни у меня снова возникли проблемы, мне нужно работать с PNG, нужно создать окно на основе PNG. По этой теме незнаю ничего, говорят GDI+ поможет, но инфы по этому поводу я не нашел, помогите пожалуйста.]]></description>
        <author>Maxidrom</author>
        <category>C/C++: Системное программирование и WinAPI</category>
      </item>
	
      </channel>
      </rss>
	