<?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=443857&amp;view=findpost&amp;p=3902103</guid>
        <pubDate>Tue, 26 Mar 2024 03:41:18 +0000</pubDate>
        <title>Почему я не могу использовать ModifyWorldTransform на двух квадратах?</title>
        <link>https://forum.sources.ru/index.php?showtopic=443857&amp;view=findpost&amp;p=3902103</link>
        <description><![CDATA[MBo: savedc/restoredc]]></description>
        <author>MBo</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=443857&amp;view=findpost&amp;p=3902101</guid>
        <pubDate>Mon, 25 Mar 2024 21:30:25 +0000</pubDate>
        <title>Почему я не могу использовать ModifyWorldTransform на двух квадратах?</title>
        <link>https://forum.sources.ru/index.php?showtopic=443857&amp;view=findpost&amp;p=3902101</link>
        <description><![CDATA[Katerina1993: У меня на холст добавляется два квадрата. Для каждого нужно применить ModifyWorldTransform с разными значениями. Чтобы установить каждый квадрат по оси координат. Но почему-то ModifyWorldTransform использует значения по оси x и y одинаковые, что указаны в самом начале, для одного и второго квадрата. Т.е. один квадрат накладывается на другой. Пример на картинке.<br>
<span class="b-attach" data-size="2834" data-hits="66" data-attach-id="65654" data-attach-post-id="0">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=0&amp;attach_id=65654' title='Скачать файл' target='_blank'>img1.jpg</a> (, : 66)
		</span><br>
Как использовать  ModifyWorldTransform с разными значениями? <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">procedure TForm1.FormCreate(Sender: TObject);</div><div class="code_line">var HDC:THandle;</div><div class="code_line">M:TXFORM;</div><div class="code_line">a:Double;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; hDc := Image3.Canvas.Handle;</div><div class="code_line">&nbsp;&nbsp; SetGraphicsMode(hDc, GM_ADVANCED);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; fillChar(M, sizeOf(M), 0);</div><div class="code_line">&nbsp;&nbsp; M.eM11 := 1;</div><div class="code_line">&nbsp;&nbsp; M.eM12 := 0;</div><div class="code_line">&nbsp;&nbsp; M.eM21 := 0;</div><div class="code_line">&nbsp;&nbsp; M.eM22 := 1;</div><div class="code_line">&nbsp;&nbsp; M.eDx := 50;</div><div class="code_line">&nbsp;&nbsp; M.eDy := 150;</div><div class="code_line">&nbsp;&nbsp; ModifyWorldTransform(hDc, M, MWT_LEFTMULTIPLY);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Image3.Canvas.Pen.Color:=clBlue;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Image3.Canvas.Pen.Width := 4;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Image3.Canvas.Brush.Color:=clGreen;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Image3.Canvas.Rectangle(0,0,50,50);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;// hDc := Image3.Canvas.Handle;</div><div class="code_line">&nbsp;&nbsp;// SetGraphicsMode(hDc, GM_ADVANCED);</div><div class="code_line">&nbsp;&nbsp; fillChar(M, sizeOf(M), 0);</div><div class="code_line">&nbsp;&nbsp; M.eM11 := 1;</div><div class="code_line">&nbsp;&nbsp; M.eM12 := 0;</div><div class="code_line">&nbsp;&nbsp; M.eM21 := 0;</div><div class="code_line">&nbsp;&nbsp; M.eM22 := 1;</div><div class="code_line">&nbsp;&nbsp; M.eDx := 250;</div><div class="code_line">&nbsp;&nbsp; M.eDy := 150;</div><div class="code_line">&nbsp;&nbsp; ModifyWorldTransform(hDc, M, MWT_LEFTMULTIPLY);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Image3.Canvas.Pen.Color:=clRed;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Image3.Canvas.Pen.Width := 4;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Image3.Canvas.Brush.Color:=clGreen;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Image3.Canvas.Rectangle(0,0,50,50);</div><div class="code_line">end;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script> <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2024-03-25T21:41:13+00:00">25.03.24, 21:41</time></span></span><br>
Походу дела нужно как-то сохранять значения и возвращать их. В HTML5 для этого существуют функции save и restore, а здесь не знаю как это сделать.]]></description>
        <author>Katerina1993</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	