<?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=166843&amp;view=findpost&amp;p=3753756</guid>
        <pubDate>Mon, 18 Dec 2017 03:13:26 +0000</pubDate>
        <title>FPC/FCL/FPImage</title>
        <link>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=3753756</link>
        <description><![CDATA[apexcol: Hi, here&#39;s the correct code for that, sorry for being years late, but I only did it some minutes ago... ;)<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.Button5Click(Sender: TObject);</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;CY: TFPImageBitmap;</div><div class="code_line">&nbsp;&nbsp;i, j: Integer;</div><div class="code_line">&nbsp;&nbsp;Intf: TLazIntfImage;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;CY := TPNGImage.Create;</div><div class="code_line">&nbsp;&nbsp;CY.PixelFormat := pf32bit;</div><div class="code_line">&nbsp;&nbsp;CY.Canvas.Brush.FPColor:=colTransparent;</div><div class="code_line">&nbsp;&nbsp;CY.SetSize(300,300);</div><div class="code_line">&nbsp;&nbsp;CY.Canvas.FillRect(0,0,CY.Width-1,CY.Height-1);</div><div class="code_line">&nbsp;&nbsp;try</div><div class="code_line">// &nbsp; &nbsp;CY.LoadFromFile(&#39;c:\proof.png&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;CY.Canvas.Brush.Style := bsClear;</div><div class="code_line">&nbsp;&nbsp; &nbsp;CY.Canvas.Pen.FPColor := ColRed;</div><div class="code_line">&nbsp;&nbsp; &nbsp;CY.Canvas.Pen.Width := 10;</div><div class="code_line">&nbsp;&nbsp; &nbsp;CY.Canvas.Ellipse(10,10,100,100);</div><div class="code_line">&nbsp;&nbsp; &nbsp;with CY.Canvas.Font do begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;FPColor := ColBlue;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;PixelsPerInch := 300; /// always before height!</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Height := 32;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Orientation := 1800;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Name := &#39;PlayBill&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Quality := fqCleartypeNatural;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;CY.Canvas.Brush.Style := bsImage;</div><div class="code_line">&nbsp;&nbsp; &nbsp;CY.Canvas.TextOut(230,230,&#39;apexcol@gmail.com!&#39;);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;/// The plain bitmap has no Alpha, so we have</div><div class="code_line">&nbsp;&nbsp; &nbsp;/// to create an IntfImage, which passes the</div><div class="code_line">&nbsp;&nbsp; &nbsp;/// actual Canvas into an ABGR format that we</div><div class="code_line">&nbsp;&nbsp; &nbsp;/// control with TColors property. &nbsp;After putting</div><div class="code_line">&nbsp;&nbsp; &nbsp;/// all the painted things the $FF on the Alpha</div><div class="code_line">&nbsp;&nbsp; &nbsp;/// position, we pass it back to the CY.Canvas</div><div class="code_line">&nbsp;&nbsp; &nbsp;Intf:=CY.CreateIntfImage;</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i:=0 to pred(CY.Width) do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;for j:=0 to pred(CY.Height) do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if Intf.TColors[i,j] &#62; 0 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Intf.TColors[i,j]:=Intf.TColors[i,j] or $FF000000;</div><div class="code_line">&nbsp;&nbsp; &nbsp;CY.LoadFromIntfImage(Intf);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Canvas.Draw(510,10,CY);</div><div class="code_line">&nbsp;&nbsp; &nbsp;CY.SaveToFile(&#39;pruebaPNG.png&#39;);</div><div class="code_line">&nbsp;&nbsp;finally</div><div class="code_line">&nbsp;&nbsp; &nbsp;CY.Free;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Intf.Free;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">end;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>apexcol</author>
        <category>32-битные компиляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1520001</guid>
        <pubDate>Wed, 11 Apr 2007 13:58:31 +0000</pubDate>
        <title>FPC/FCL/FPImage</title>
        <link>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1520001</link>
        <description><![CDATA[tm2studio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=166843&view=findpost&p=1509370'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>itwork &#064; <time class="tag-quote__quoted-time" datetime="2007-04-03T14:53:31+00:00">03.04.07, 14:53</time></span><div class='quote '>КАК на ФРИ сделать генерация чисел в картинку&#33;(обычно такое делается для сайта против ботов(походу ))??? былоб хорошо если у кого есть какой пример</div></div><br>
У меня есть пример на РНР, если нужен - могу выложить. <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;'>-Added <time class="tag-mergetime" datetime="2007-04-11T13:59:51+00:00">11.04.07, 13:59</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=166843&view=findpost&p=1509296'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>itwork &#064; <time class="tag-quote__quoted-time" datetime="2007-04-03T14:13:12+00:00">03.04.07, 14:13</time></span><div class='quote '>Люди где можно почитать об Этих модулях (fpimage,fpcanvas,fpwritepng, fpwritejpeg,fpimgcanv)??<br>
 иЛИ КАК вы сами ихизучали???  :)</div></div><br>
Сейчас переведем LCL-Help а там и до RTL с FPL доберемся ;) .]]></description>
        <author>tm2studio</author>
        <category>32-битные компиляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1509555</guid>
        <pubDate>Tue, 03 Apr 2007 17:46:46 +0000</pubDate>
        <title>FPC/FCL/FPImage</title>
        <link>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1509555</link>
        <description><![CDATA[e-moe: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>What is the GD library? GD is an open source code library for the dynamic creation of images by programmers. GD is written in C, and &quot;wrappers&quot; are available for Perl, PHP and other languages. GD creates PNG, JPEG and GIF images, among other formats. GD is commonly used to generate charts, graphics, thumbnails, and most anything else, on the fly. While not restricted to use on the web, the most common applications of GD involve web site development.</div></div><br>
есть модули и для паскаля ;)]]></description>
        <author>e-moe</author>
        <category>32-битные компиляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1509370</guid>
        <pubDate>Tue, 03 Apr 2007 14:53:31 +0000</pubDate>
        <title>FPC/FCL/FPImage</title>
        <link>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1509370</link>
        <description><![CDATA[itwork: КАК на ФРИ сделать генерация чисел в картинку&#33;(обычно такое делается для сайта против ботов(походу ))??? былоб хорошо если у кого есть какой пример]]></description>
        <author>itwork</author>
        <category>32-битные компиляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1509345</guid>
        <pubDate>Tue, 03 Apr 2007 14:41:44 +0000</pubDate>
        <title>FPC/FCL/FPImage</title>
        <link>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1509345</link>
        <description><![CDATA[e-moe: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=166843&view=findpost&p=1509296'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>itwork &#064; <time class="tag-quote__quoted-time" datetime="2007-04-03T14:13:12+00:00">03.04.07, 14:13</time></span><div class='quote '>иЛИ КАК вы сами ихизучали??? :)</div></div><br>
я по исходникам смотрел...]]></description>
        <author>e-moe</author>
        <category>32-битные компиляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1509296</guid>
        <pubDate>Tue, 03 Apr 2007 14:13:12 +0000</pubDate>
        <title>FPC/FCL/FPImage</title>
        <link>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1509296</link>
        <description><![CDATA[itwork: Люди где можно почитать об Этих модулях (fpimage,fpcanvas,fpwritepng, fpwritejpeg,fpimgcanv)??<br> иЛИ КАК вы сами ихизучали???  :)]]></description>
        <author>itwork</author>
        <category>32-битные компиляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1402476</guid>
        <pubDate>Fri, 05 Jan 2007 18:09:52 +0000</pubDate>
        <title>FPC/FCL/FPImage</title>
        <link>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1402476</link>
        <description><![CDATA[e-moe: <strong class='tag-b'>Romtek</strong>, линии оно и у меня прекрасно рисует если закоментировать вывод текста.. И размер тоже правильно устанавливается...<br>
А вот с текстом облом получается... Будем ждать новых версий...]]></description>
        <author>e-moe</author>
        <category>32-битные компиляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1402259</guid>
        <pubDate>Fri, 05 Jan 2007 15:17:30 +0000</pubDate>
        <title>FPC/FCL/FPImage</title>
        <link>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1402259</link>
        <description><![CDATA[volvo877: Однако, в исходниках модуля FPImgCanv (а точнее, FPPixlCanv) мною был встречен вот такой фрагмент:<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 TFPPixelCanvas.DoTextOut (x,y:integer;text:string);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;NotImplemented;</div><div class="code_line">end;</div></ol></div></div></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">canvas.TextOut(10,10,&#39;Hello&#39;);</div></ol></div></div></div></div>]]></description>
        <author>volvo877</author>
        <category>32-битные компиляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1402197</guid>
        <pubDate>Fri, 05 Jan 2007 14:10:50 +0000</pubDate>
        <title>FPC/FCL/FPImage</title>
        <link>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1402197</link>
        <description><![CDATA[Romtek: Google выдал первую ссылку: http://lists.freepascal.org/lists/fpc-pascal/2004-April/006915.html<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">uses fpimage,fpcanvas,fpwritepng, fpwritejpeg,fpimgcanv;</div><div class="code_line">&nbsp;</div><div class="code_line">Var</div><div class="code_line">&nbsp;&nbsp;Image : TFPMemoryImage;</div><div class="code_line">&nbsp;&nbsp;Canvas : TFPimageCanvas;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;// Create image,</div><div class="code_line">&nbsp;&nbsp;Image:=TFPMemoryImage.Create(640,480); &nbsp;// установка размера здесь</div><div class="code_line">&nbsp;&nbsp;Image.UsePalette:=False;</div><div class="code_line">&nbsp;&nbsp;// Create canvas.</div><div class="code_line">&nbsp;&nbsp;Canvas:=TFPImageCanvas.Create(Image);</div><div class="code_line">&nbsp;&nbsp;Canvas.Pen.Color:=colRed;</div><div class="code_line">&nbsp;&nbsp;Canvas.Ellipse(50,50,150,150);</div><div class="code_line">&nbsp;&nbsp;Canvas.Rectangle(50,50,150,150);</div><div class="code_line">&nbsp;&nbsp;// Free canvas</div><div class="code_line">&nbsp;&nbsp;Canvas.Free;</div><div class="code_line">&nbsp;&nbsp;Image.SaveToFile(&#39;myfile.png&#39;,TFPWriterPNG.Create); // Write as png</div><div class="code_line">&nbsp;&nbsp;Image.SaveToFile(&#39;myfile.jpg&#39;,TFPWriterPNG.Create); // Alternatively, write as jpg</div><div class="code_line">&nbsp;&nbsp;// Free Image.</div><div class="code_line">&nbsp;&nbsp;Image.Free;</div><div class="code_line">end.</div></ol></div></div></div></div><br>
Думаю, что установка фона делается проще, чем сложным алгоритмом заливки FloodFill...<br>
Что-то не нашёл в документации описания класса TFPImageCanvas. :unsure:]]></description>
        <author>Romtek</author>
        <category>32-битные компиляторы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1400648</guid>
        <pubDate>Thu, 04 Jan 2007 10:34:47 +0000</pubDate>
        <title>FPC/FCL/FPImage</title>
        <link>https://forum.sources.ru/index.php?showtopic=166843&amp;view=findpost&amp;p=1400648</link>
        <description><![CDATA[e-moe: FPC 2.0.4 win32<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">{$mode objfpc}{$H+}</div><div class="code_line">&nbsp;</div><div class="code_line">uses FPWritePNG,</div><div class="code_line">&nbsp;&nbsp; &nbsp; {$ifndef UseFile}classes,{$endif}</div><div class="code_line">&nbsp;&nbsp; &nbsp; FPImage,FPImgCanv, sysutils;</div><div class="code_line">&nbsp;</div><div class="code_line">var Img : TFPMemoryImage;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Canvas : TFPImageCanvas;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Writer : TFPCustomimageWriter;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure Init;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Writer := TFPWriterPNG.Create;</div><div class="code_line">&nbsp;&nbsp;img := TFPMemoryImage.Create(0,0);</div><div class="code_line">&nbsp;&nbsp;img.UsePalette:=false;</div><div class="code_line">&nbsp;&nbsp;img.SetSize(100,100);</div><div class="code_line">&nbsp;&nbsp;canvas := TFPImageCanvas.Create(img);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;canvas.brush := canvas.CreateBrush;</div><div class="code_line">&nbsp;&nbsp;canvas.brush.fpcolor:=FPColor(255,0,255);</div><div class="code_line">&nbsp;&nbsp;canvas.FloodFill(50,50); // <span style='color:red'>Как залить поле заданным цветом?</span></div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;canvas.pen := canvas.createpen;</div><div class="code_line">&nbsp;&nbsp;canvas.pen.fpcolor := colGreen;</div><div class="code_line">&nbsp;&nbsp;canvas.line(0,0,10,10);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;canvas.font := canvas.CreateFont;</div><div class="code_line">&nbsp;&nbsp;canvas.font.name := &#39;Arial&#39;;</div><div class="code_line">&nbsp;&nbsp;canvas.font.size := 10;</div><div class="code_line">&nbsp;&nbsp;canvas.font.FPColor := colBlue;</div><div class="code_line">&nbsp;&nbsp;canvas.TextOut(10,10,&#39;Hello&#39;); // <span style='color:red'>На этой строке runtime error :(</span></div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure WriteImage;</div><div class="code_line">var t: string;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;t := &#39;&#39;; // параметры для сохранения файла</div><div class="code_line">&nbsp;&nbsp;with (Writer as TFPWriterPNG) do</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Grayscale := pos (&#39;G&#39;, t) &#62; 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Indexed := pos (&#39;I&#39;, t) &#62; 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;WordSized := pos(&#39;W&#39;, t) &#62; 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;UseAlpha := pos (&#39;A&#39;, t) &#62; 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp;img.SaveToFile (&#39;tmp.png&#39;, Writer);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure Clean;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Writer.Free;</div><div class="code_line">&nbsp;&nbsp;Canvas.Free;</div><div class="code_line">&nbsp;&nbsp;Img.Free;</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; &nbsp;try</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Init;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;WriteImage;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Clean;</div><div class="code_line">&nbsp;&nbsp; &nbsp;except</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;on e : exception do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;writeln (&#39;Error: &#39;,e.message);</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">end.</div></ol></div></div></div></div>]]></description>
        <author>e-moe</author>
        <category>32-битные компиляторы</category>
      </item>
	
      </channel>
      </rss>
	