<?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=112137&amp;view=findpost&amp;p=833570</guid>
        <pubDate>Mon, 22 Aug 2005 08:05:37 +0000</pubDate>
        <title>Как снять screenshot экрана и сохранить его в файл?</title>
        <link>https://forum.sources.ru/index.php?showtopic=112137&amp;view=findpost&amp;p=833570</link>
        <description><![CDATA[Arazel: <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">program ScrShop;</div><div class="code_line">&nbsp;</div><div class="code_line">uses</div><div class="code_line">Windows;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure ApiScrCapture(FileName: String);</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp; TScr = array [0..1] of Byte;</div><div class="code_line">&nbsp;&nbsp; PScr = ^TScr;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp; hBmp &nbsp; &nbsp; &nbsp; : hBitmap;</div><div class="code_line">&nbsp;&nbsp; DeskDC &nbsp; &nbsp; : hDC;</div><div class="code_line">&nbsp;&nbsp; DC &nbsp; &nbsp; &nbsp; &nbsp; : hDC;</div><div class="code_line">&nbsp;&nbsp; BFH &nbsp; &nbsp; &nbsp; &nbsp;: BITMAPFILEHEADER;</div><div class="code_line">&nbsp;&nbsp; BIH &nbsp; &nbsp; &nbsp; &nbsp;: tagBITMAPINFO;</div><div class="code_line">&nbsp;&nbsp; ScrX, ScrY : Integer;</div><div class="code_line">&nbsp;&nbsp; F &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: File;</div><div class="code_line">&nbsp;&nbsp; ScrSize &nbsp; &nbsp;: Cardinal;</div><div class="code_line">&nbsp;&nbsp; Bits &nbsp; &nbsp; &nbsp; : PScr;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; SCRX &nbsp; &nbsp; := GetSystemMetrics(SM_CXSCREEN);</div><div class="code_line">&nbsp;&nbsp; SCRY &nbsp; &nbsp; := GetSystemMetrics(SM_CYSCREEN);</div><div class="code_line">&nbsp;&nbsp; ScrSize &nbsp;:= ScrX * ScrY * 3;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; GetMem(Bits, ScrSize);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; DeskDC &nbsp; := GetDC(0);</div><div class="code_line">&nbsp;&nbsp; hBmp &nbsp; &nbsp; := CreateCompatibleBitmap(DeskDC, ScrX, ScrY);</div><div class="code_line">&nbsp;&nbsp; DC &nbsp; &nbsp; &nbsp; := CreateCompatibleDC(DeskDC);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; SelectObject(DC, hbmp);</div><div class="code_line">&nbsp;&nbsp; BitBlt(DC, 0, 0, SCRX, SCRY, DeskDC, 0, 0, SrcCopy);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; with BFH do</div><div class="code_line">&nbsp;&nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; bfType &nbsp; &nbsp; &nbsp;:= D42;</div><div class="code_line">&nbsp;&nbsp; &nbsp; bfSize &nbsp; &nbsp; &nbsp;:= SCRX * SCRY * 3 + SizeOf(BFH) + SizeOf(BIH);</div><div class="code_line">&nbsp;&nbsp; &nbsp; bfReserved1 := 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; bfReserved2 := 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; bfOffBits &nbsp; := SizeOf(BFH) + SizeOf(BIH);</div><div class="code_line">&nbsp;&nbsp; end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; with BIH.bmiHeader do</div><div class="code_line">&nbsp;&nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;biSize &nbsp; &nbsp; &nbsp; &nbsp; := sizeof(BIH);</div><div class="code_line">&nbsp;&nbsp; &nbsp;biWidth &nbsp; &nbsp; &nbsp; &nbsp;:= SCRX;</div><div class="code_line">&nbsp;&nbsp; &nbsp;biHeight &nbsp; &nbsp; &nbsp; := SCRY;</div><div class="code_line">&nbsp;&nbsp; &nbsp;biPlanes &nbsp; &nbsp; &nbsp; := 1;</div><div class="code_line">&nbsp;&nbsp; &nbsp;biBitCount &nbsp; &nbsp; := 24;</div><div class="code_line">&nbsp;&nbsp; &nbsp;biCompression &nbsp;:= BI_RGB;</div><div class="code_line">&nbsp;&nbsp; &nbsp;biSizeImage &nbsp; &nbsp;:= ScrSize;</div><div class="code_line">&nbsp;&nbsp; &nbsp;biClrImportant := 0;</div><div class="code_line">&nbsp;&nbsp; end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; GetDiBits(DC, hbmp, 0, SCRY, Bits, BIH, DIB_RGB_COLORS);</div><div class="code_line">&nbsp;&nbsp; DeleteObject(hbmp);</div><div class="code_line">&nbsp;&nbsp; AssignFile(F, FileName);</div><div class="code_line">&nbsp;&nbsp; Rewrite(F, 1);</div><div class="code_line">&nbsp;&nbsp; Blockwrite(F, BFH, SizeOf(BFH));</div><div class="code_line">&nbsp;&nbsp; Blockwrite(F, BIH, SizeOf(BIH));</div><div class="code_line">&nbsp;&nbsp; Blockwrite(F, bits^, ScrSize);</div><div class="code_line">&nbsp;&nbsp; CloseFile(F);</div><div class="code_line">&nbsp;&nbsp; FreeMem(Bits);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; ApiScrCapture(&#39;1.bmp&#39;);</div><div class="code_line">end.</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
<strong class='tag-b'>Автор:</strong> <a class='tag-url' href='http://forum.sources.ru/index.php?showuser=18768' target='_blank'>Arazel</a>]]></description>
        <author>Arazel</author>
        <category>Графика, звук, анимация, игры</category>
      </item>
	
      </channel>
      </rss>
	