Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2020-05

Tool to make icons ?

17 messages · 10 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Michael Van Canneyt

Hi,

What is the tool used to make icons for standard Lazarus components ? Every time I need to make an icon for a component, I find myself in the situation that I start looking for a tool on internet.

Should not lazarus come out of the box with a basic tool that allows you to create component icons with the correct sizes ?

Michael.

Reply by email

Leyba Bronstain
to Michael Van Canneyt

21.05.2020 17:13, Michael Van Canneyt via lazarus пишет:

Show quoted text 12 lines
Hi, What is the tool used to make icons for standard Lazarus components ? Every time I need to make an icon for a component, I find myself in the situation that I start looking for a tool on internet. Should not lazarus come out of the box with a basic tool that allows you to create component icons with the correct sizes ? Michael.

IMO, inkscape

https://inkscape.org/

/-- with best regards, Zoltanleo aka Док/ -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200521/87f29b41/attachment.html>

Reply by email

gabor
to Michael Van Canneyt: What is the tool used to make icons for standard Lazarus components ? Every time I need…

I use "Greenfish Icon Editor". GPL with FPC/Lazarus sources. http://greenfishsoftware.org/gfie.php

W dniu 2020-05-21 o 16:13, Michael Van Canneyt via lazarus pisze:

Show quoted text 11 lines
Hi, What is the tool used to make icons for standard Lazarus components ? Every time I need to make an icon for a component, I find myself in the situation that I start looking for a tool on internet. Should not lazarus come out of the box with a basic tool that allows you to create component icons with the correct sizes ? Michael.

Reply by email

Werner Pamler
to Michael Van Canneyt: What is the tool used to make icons for standard Lazarus components ? Every time I need…
Michael Van Canneyt wrote
What is the tool used to make icons for standard Lazarus components ?

Roland Hahn who designed most of the palette and a good part of the toolbar icons is using Inkscape. This may be a bit surprising because Inkscape is a vector graphics program for svg drawings, but icons are bitmaps. The main advantage is that every feature of the drawing is available as a separate object, not merged together like in the bitmap programs (unless layers are supported). Producing svg vector drawings it is enough to do an image once and export the three resolutions (95ppi, 144pii, 192ppi) from that single source file. Well - in principle because the 150% image usually becomes a bit blurred this way. Roland goes even a step further and does every size individually in order to fine-tune details.  And the final advantage is that we have svg files for the time when a future Lazarus will support to scalable svg images.

In the meantime I tried Inkscape myself for some of my own components, and yes, once I learned the basic operations it is really well-suited.

Should not lazarus come out of the box with a basic tool that allows you to create component icons with the correct sizes ?

It really would have to be an advanced program, most of all supporting layers, and I think that this would be too much work. Besides GreenFish there is also LazPaint, both written with Lazarus and are very good.

Reply by email

Michael Van Canneyt
to Werner Pamler
Werner Pamler wrote 15 lines
Am 21.05.2020 um 16:13 schrieb Michael Van Canneyt via lazarus: > What is the tool used to make icons for standard Lazarus components ? Roland Hahn who designed most of the palette and a good part of the toolbar icons is using Inkscape. This may be a bit surprising because Inkscape is a vector graphics program for svg drawings, but icons are bitmaps. The main advantage is that every feature of the drawing is available as a separate object, not merged together like in the bitmap programs (unless layers are supported). Producing svg vector drawings it is enough to do an image once and export the three resolutions (95ppi, 144pii, 192ppi) from that single source file. Well - in principle because the 150% image usually becomes a bit blurred this way. Roland goes even a step further and does every size individually in order to fine-tune details.  And the final advantage is that we have svg files for the time when a future Lazarus will support to scalable svg images.

OK.

Where are the SVG sources for the icons ? I looked but can't find them.

I need to create a new dataset descendent image. It would be good to be able to start from one of the existing SVGs and simply change the text.

So maybe the SVGs of the original icons could be included in the lazarus distribution. That way people can take an existing one and change it.

In the meantime I tried Inkscape myself for some of my own components, and yes, once I learned the basic operations it is really well-suited.

I believe it.

Show quoted text 7 lines
> Should not lazarus come out of the box with a basic tool that allows > you to > create component icons with the correct sizes ? It really would have to be an advanced program, most of all supporting layers, and I think that this would be too much work. Besides GreenFish there is also LazPaint, both written with Lazarus and are very good.

Yes and no. The goal is to be able to make a minimalistic icon quickly. For this you don't need a full-blown editor. I expect such tool to be included in Lazarus.

For Delphi I still use the icon editor that came with D7. Since they later removed it, I specially saved this program in a separate folder. For example, I have my own TDatasource. I just changed the colors of the TDatasource one.
The icons will not win a beauty prize, but at least every component gets a distinct icon.

Anyway, thanks everyone for the answers ! If the SVG files could be committed, that would be nice.

Michael.

Reply by email

Michael Van Canneyt
to Werner Pamler
Werner Pamler wrote
Am 21.05.2020 um 17:45 schrieb Michael Van Canneyt via lazarus: > Where are the SVG sources for the icons ?

Great ! Thanks !

Now I still need to learn some Inkscape, but that's for later :-)

Michael.

Reply by email

Vojtěch Čihák
to Michael Van Canneyt: What is the tool used to make icons for standard Lazarus components ? Every time I need…

I also use Inkscape and rsvg-convert
 
I have a script for converting all *.svg icons to multiple sizes:  
#!/bin/bash
 
for i in *.[Ss][Vv][Gg]; do rsvg-convert $i -w 64 -h 64 -a -o ../png_all/`echo $i | sed -e 's/.svg$/_64.png/'`; done  
for i in *.[Ss][Vv][Gg]; do rsvg-convert $i -w 56 -h 56 -a -o ../png_all/`echo $i | sed -e 's/.svg$/_56.png/'`; done  
for i in *.[Ss][Vv][Gg]; do rsvg-convert $i -w 48 -h 48 -a -o ../png_all/`echo $i | sed -e 's/.svg$/_48.png/'`; done  
for i in *.[Ss][Vv][Gg]; do rsvg-convert $i -w 40 -h 40 -a -o ../png_all/`echo $i | sed -e 's/.svg$/_40.png/'`; done  
for i in *.[Ss][Vv][Gg]; do rsvg-convert $i -w 32 -h 32 -a -o ../png_all/`echo $i | sed -e 's/.svg$/_32.png/'`; done  
for i in *.[Ss][Vv][Gg]; do rsvg-convert $i -w 28 -h 28 -a -o ../png_all/`echo $i | sed -e 's/.svg$/_28.png/'`; done  
for i in *.[Ss][Vv][Gg]; do rsvg-convert $i -w 24 -h 24 -a -o ../png_all/`echo $i | sed -e 's/.svg$/_24.png/'`; done  
for i in *.[Ss][Vv][Gg]; do rsvg-convert $i -w 20 -h 20 -a -o ../png_all/`echo $i | sed -e 's/.svg$/_20.png/'`; done  
for i in *.[Ss][Vv][Gg]; do rsvg-convert $i -w 16 -h 16 -a -o ../png_all/`echo $i | sed -e 's/svg$/png/'`; done            
 
Yes, non-integer scaling may be blury sometimes but nothing horrible.  
V.
 

Reply by email

Werner Pamler
to Michael Van Canneyt: Great ! Thanks ! Now I still need to learn some Inkscape, but that's for later :-)…
Michael Van Canneyt wrote
Now I still need to learn some Inkscape, but that's for later :-)

I feel with you... Unfortunately every graphics program has its own short cuts and places in the menus and toolbars, and yes, Inkscape, like the well-respsected Gimp, is not a master-piece in user-guidance, at least for my way of working.  Since the icons are stored in universal svg, however, you can also switch you other vector programs instead, like CorelDraw or LibreOffice Draw. But they have other issues...

Reply by email

Vojtěch Čihák
to Werner Pamler

IMO Inkscape works much better compared to Karbon (if it is what you meant LibreOffice Draw). Therefore I prefer it, even if it is a little stranger (GTK app.) on my Plasma desktop.  
V.
______________________________________________________________

Show quoted text 5 lines
Od: "Werner Pamler via lazarus" Komu: Datum: 21.05.2020 18:54 Předmět: Re: [Lazarus] Tool to make icons ?
Michael Van Canneyt wrote
Now I still need to learn some Inkscape, but that's for later :-)

I feel with you... Unfortunately every graphics program has its own short cuts and places in the menus and toolbars, and yes, Inkscape, like the well-respsected Gimp, is not a master-piece in user-guidance, at least for my way of working.  Since the icons are stored in universal svg, however, you can also switch you other vector programs instead, like CorelDraw or LibreOffice Draw. But they have other issues...

Reply by email

Graeme Geldenhuys
to Michael Van Canneyt: What is the tool used to make icons for standard Lazarus components ? Every time I need…
Michael Van Canneyt wrote
What is the tool used to make icons for standard Lazarus components ?

Aseprite is brilliant. Included in Linux package repositories too. I use it for pixel art - playing around with game development. There are loads of fantastic tutorials on youtube too.

Regards,
Graeme

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp

Reply by email

Salvatore Coppola
to Graeme Geldenhuys

With IcoFX tool I stopped myself googling (also available in portableapps). It create multiple layers icon according with the OS style. See the screenshots
Salvatore

Il giorno ven 22 mag 2020 alle ore 18:03 Graeme Geldenhuys via lazarus <

Show quoted text 23 lines
ha scritto: On 21/05/2020 3:13 pm, Michael Van Canneyt via lazarus wrote: > What is the tool used to make icons for standard Lazarus components ? Aseprite is brilliant. Included in Linux package repositories too. I use it for pixel art - playing around with game development. There are loads of fantastic tutorials on youtube too. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp -- _______________________________________________ lazarus mailing list https://lists.lazarus-ide.org/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200523/fab5d7ba/attachment-0001.html> -------------- next part --------------
A non-text attachment was scrubbed...
Name: IcoFX_1.png
Type: image/png
Size: 29220 bytes
Desc: not available
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200523/fab5d7ba/attachment-0002.png> -------------- next part --------------
A non-text attachment was scrubbed...
Name: IcoFX_2.png
Type: image/png
Size: 16742 bytes
Desc: not available
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200523/fab5d7ba/attachment-0003.png>

Reply by email

duilio foschi
to Salvatore Coppola

1.
when the compiler reaches this line,,,

qryMain.AfterOpen:=TB_DPTAfterOpen;

it throws the error:
unit1.pas(190,23) Error: Wrong number of parameters specified for call to "TB_DPTAfterOpen"

2.
TB_DPTAfterOpen is declared as:

TFrame1=class(TFrame)
protected
              procedure TB_DPTAfterOpen(DataSet: TDataSet);
...

3.
qryMain is declared as:

qryMain: TSQLQuery;

4.
AfterOpen is a TDataSetNotifyEvent

AfterOpen: TDataSetNotifyEvent

5.
TDataSetNotifyEvent is declared as

TDataSetNotifyEvent = procedure(DataSet: TDataSet) of object;

Ev seems ok to me. So where is the error?

Thank you

Peppe Polpo

Reply by email

duilio foschi
to Juha Manninen

Yes, it works.

Good to know.

Thank you

PM Juha Manninen wrote 11 lines
On Fri, Aug 21, 2020 at 7:14 PM duilio foschi via lazarus wrote: > In Delphi you write > qryMain.AfterOpen:=TB_DPTAfterOpen; > > but whatever works is ok to me :) It works also with FPC when using {$mode delphi} Juha

Reply by email