<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Поточечный вывод изображения из файла на экран]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=10974</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=10974&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Поточечный вывод изображения из файла на экран».]]></description>
		<lastBuildDate>Fri, 25 Sep 2015 11:10:35 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Поточечный вывод изображения из файла на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=97684#p97684</link>
			<description><![CDATA[<p><span style="color: green"><strong>steets</strong>, ещё раз внимательно ознакомьтесь с указанной темой, обратите внимание на правила цитирования, отредактируйте свои посты.</span></p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 25 Sep 2015 11:10:35 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=97684#p97684</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поточечный вывод изображения из файла на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=97683#p97683</link>
			<description><![CDATA[<div class="quotebox"><cite>yalanne пишет:</cite><blockquote><p><a href="http://www.autohotkey.com/board/topic/29449-gdi-standard-library-145-by-tic/">Gdi+</a><br /></p><div class="codebox"><pre><code>#SingleInstance, Force
#NoEnv
SetBatchLines, -1
#Include, Gdip.ahk
pToken := Gdip_Startup()
OnExit, Exit

; Создаем окно с нужными стилями для работы gdi+
Gui, 1: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, 1: Show, NA

; размер рисунка на весь экран.
Width := A_ScreenWidth, Height := A_ScreenHeight

; Начальные настройки для gdi+
hwnd := WinExist()    ,    hbm := CreateDIBSection(Width, Height)    ,    hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)    ,    G := Gdip_GraphicsFromHDC(hdc)

; Режим сглаживания на 4.
;Gdip_SetSmoothingMode(G, 4)


; читаем построчно файл list.txt 
Loop,Read,%A_ScriptDir%\list.txt,
{
    ;Делим строку на 5 частей. 1 и 2 это xy. 5 это color. 
    ;3 и 4 По умолчанию пустые, но если после x и y указать двоеточие(:) то указывается x2 и y2. Нужно что бы рисовать линию между этими точками.
    RegExMatch(A_LoopReadLine,&quot;(\d+)/(\d+)(?:\:(\d+)/(\d+)){0,1}/(.*)&quot;,xyc)
    ; Если x2 и y2 пустые задаем им такие же значения как у x1+1 и y2.
    % (xyc3 = &quot;&quot;) and (xyc4 = &quot;&quot;) and (xyc3 := xyc1+0.1)true and (xyc4 := xyc2)true
    ; В gdi+ еще надо указывать прозрачность. Задаем 100 процентную видимость нарисованного. в color.
    xyc5|=0xff000000
    ; задаем цвет кисти и толщиной в 1 пиксель
    pPen := Gdip_CreatePen(xyc5, 1)
    ; рисуем пиксель\линию.
    Gdip_DrawLines(G, pPen    , xyc1 &quot;,&quot; xyc2 &quot;|&quot; xyc3 &quot;,&quot; xyc4 )
    ; очищаем кисть.
    Gdip_DeletePen(pPen)
}


; Обновить\Показать окно.
UpdateLayeredWindow(WinExist(), hdc, 0, 0, Width, Height)
return


Exit:
; gdi+ may now be shutdown on exiting the program
Gdip_Shutdown(pToken)
ExitApp
Return</code></pre></div><p>Читает из файла list.txt который лежит рядом со скриптом.<br />Что бы нарисовать линию от точки A до B надо указывать в list.txt вот так<br /></p><div class="codebox"><pre><code>x/y:x2/y2/color
Пример: 647/272:647/280/0xFFFFFF</code></pre></div><p>А если указывать стандартно, то работа с одним пикселем.<br /></p><div class="codebox"><pre><code>x/y/color
Пример: 647/272/0xFFFFFF</code></pre></div></blockquote></div><p>Огромное спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (steets)]]></author>
			<pubDate>Fri, 25 Sep 2015 09:38:56 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=97683#p97683</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поточечный вывод изображения из файла на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=97682#p97682</link>
			<description><![CDATA[<p><a href="http://www.autohotkey.com/board/topic/29449-gdi-standard-library-145-by-tic/">Gdi+</a><br /></p><div class="codebox"><pre><code>#SingleInstance, Force
#NoEnv
SetBatchLines, -1
#Include, Gdip.ahk
pToken := Gdip_Startup()
OnExit, Exit

; Создаем окно с нужными стилями для работы gdi+
Gui, 1: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, 1: Show, NA

; размер рисунка на весь экран.
Width := A_ScreenWidth, Height := A_ScreenHeight

; Начальные настройки для gdi+
hwnd := WinExist()    ,    hbm := CreateDIBSection(Width, Height)    ,    hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)    ,    G := Gdip_GraphicsFromHDC(hdc)

; Режим сглаживания на 4.
;Gdip_SetSmoothingMode(G, 4)


; читаем построчно файл list.txt 
Loop,Read,%A_ScriptDir%\list.txt,
{
    ;Делим строку на 5 частей. 1 и 2 это xy. 5 это color. 
    ;3 и 4 По умолчанию пустые, но если после x и y указать двоеточие(:) то указывается x2 и y2. Нужно что бы рисовать линию между этими точками.
    RegExMatch(A_LoopReadLine,&quot;(\d+)/(\d+)(?:\:(\d+)/(\d+)){0,1}/(.*)&quot;,xyc)
    ; Если x2 и y2 пустые задаем им такие же значения как у x1+1 и y2.
    % (xyc3 = &quot;&quot;) and (xyc4 = &quot;&quot;) and (xyc3 := xyc1+0.1)true and (xyc4 := xyc2)true
    ; В gdi+ еще надо указывать прозрачность. Задаем 100 процентную видимость нарисованного. в color.
    xyc5|=0xff000000
    ; задаем цвет кисти и толщиной в 1 пиксель
    pPen := Gdip_CreatePen(xyc5, 1)
    ; рисуем пиксель\линию.
    Gdip_DrawLines(G, pPen    , xyc1 &quot;,&quot; xyc2 &quot;|&quot; xyc3 &quot;,&quot; xyc4 )
    ; очищаем кисть.
    Gdip_DeletePen(pPen)
}


; Обновить\Показать окно.
UpdateLayeredWindow(WinExist(), hdc, 0, 0, Width, Height)
return


Exit:
; gdi+ may now be shutdown on exiting the program
Gdip_Shutdown(pToken)
ExitApp
Return</code></pre></div><p>Читает из файла list.txt который лежит рядом со скриптом.<br />Что бы нарисовать линию от точки A до B надо указывать в list.txt вот так<br /></p><div class="codebox"><pre><code>x/y:x2/y2/color
Пример: 647/272:647/280/0xFFFFFF</code></pre></div><p>А если указывать стандартно, то работа с одним пикселем.<br /></p><div class="codebox"><pre><code>x/y/color
Пример: 647/272/0xFFFFFF</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Fri, 25 Sep 2015 09:24:55 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=97682#p97682</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поточечный вывод изображения из файла на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=97675#p97675</link>
			<description><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p>0) Ознакомиться с библиотекой GDI+<br />1) Считывать из файла строки по порядку командой <em>Loop (чтение файла)</em><br />2) Внутри цикла делать разбор строки командой <em>StrSplit</em> или <em>RegEx</em><br />3) Используя GDI+, нарисовать текущую точку<br />4) След. точка и т. д.</p></blockquote></div><p>GDI+ где на русском про него нормальную инфо найти? потому что уже натыкался на примеры, но нормальных русскоязычных разъяснений не находил.</p>]]></description>
			<author><![CDATA[null@example.com (steets)]]></author>
			<pubDate>Thu, 24 Sep 2015 22:16:01 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=97675#p97675</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поточечный вывод изображения из файла на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=97674#p97674</link>
			<description><![CDATA[<p>0) Ознакомиться с библиотекой GDI+<br />1) Считывать из файла строки по порядку командой <em>Loop (чтение файла)</em><br />2) Внутри цикла делать разбор строки командой <em>StrSplit</em> или <em>RegEx</em><br />3) Используя GDI+, нарисовать текущую точку<br />4) След. точка и т. д.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Thu, 24 Sep 2015 20:13:43 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=97674#p97674</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поточечный вывод изображения из файла на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=97673#p97673</link>
			<description><![CDATA[<p><span style="color: green"><strong>steets</strong>, ознакомьтесь с <a href="http://forum.script-coding.com/viewtopic.php?id=6148">этой</a> темой, отредактируйте заголовок.</span></p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 24 Sep 2015 19:11:51 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=97673#p97673</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Поточечный вывод изображения из файла на экран]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=97672#p97672</link>
			<description><![CDATA[<p>Всем Привет!<br />Совсем недавно начал изучать AHK, поэтому прошу помощи, так как самостоятельно найти более имение сносные гайды не смог.<br />Суть проблемы в следующем, есть у меня файл, в котором указаны положения точек(x и y) и их цвет.<br />Мне нужно по данным координатам нарисовать их на экране.</p><p>содержание файла из которого должна идти загрузка, следующее:<br />647/272/0xFFFFFF<br />647/273/0xFFFFFF<br />647/274/0xFFFFFF<br />647/275/0xFFFFFF<br />647/276/0xFFFFFF<br />647/277/0xFFFFFF<br />647/278/0xFFFFFF<br />647/279/0xFFFFFF<br />647/280/0xFFFFFF<br />647/281/0xF0F0F0<br />647/282/0xF0F0F0<br />647/283/0xF0F0F0</p><p>если необходимо, поменять разделители в файле, то это не проблема.<br />Для меня сейчас основная проблема, понять, как нарисовать точку по заданной координате.<br />Заранее благодарен за помощь.</p>]]></description>
			<author><![CDATA[null@example.com (steets)]]></author>
			<pubDate>Thu, 24 Sep 2015 18:45:03 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=97672#p97672</guid>
		</item>
	</channel>
</rss>
