Martin Osieka

Members
  • Content Count

    136
  • Joined

  • Last visited

  • Days Won

    13

Everything posted by Martin Osieka

  1. I like the effect that the animation starts unsharp (out of focus).
  2. Seerose, Remake, TR: I'm surprized but happy that you are so enthusiastic about this strange feature. Quite often you have no idea what happens if you are playing with this option. Still looking forward to add a tab page which will allow you to collect previews of the last used settings. The current method to load and save option settings via the menu at the bottom of the dialog is not quite user friendly (but better than nothing).
  3. Maybe ;-) Thanks for the hint. If your version ends with .550 then it should be fixed. Or just search for the angel in the .dlc file and change it (but not to devil please ;-)
  4. Update 1.5 (18.1.2015) - Added 'Interference layer' option: Allows to overlay a duplicate of the line pattern with a different angle. This may be used to create a moire effect. The same effect can be generated by using PLAP a second time with a different reference angle. It is just easier to examine patterns if you can do it in one step. Typically you are trying to remove moire effects. But sometimes it may be an interesting effect. OK, this may need an example. Let's assume you are starting with a packed sine waves pattern: Now add an interference angle of 2 degrees and you will get this: Or using 45 degrees: If the distance of the parallels is larger then you may generate patterns without moire: Here a standard ellipsoid wave with an interference angle of 90: Remember that you may save your option settings via the menu at the bottom of the dialog. You may even select a preset which is used always after a restart of paint.net.
  5. Update 1.4 (4.1.2015) - Reorganized the shape line types to make it easier to use regular shape types and their stretched parts. The size of Circles, Squares, Diamonds and Hexagons is defined only by the amplitude option now. The streched variants like ellipse, rectangle, streched diamonds and stretched hexagons work as before. - Added Hexagon Shapes - Length of whole line allows to select 'One Period' now. This makes it easier to render just one single line segment like a single hexagon. - Added reference scaling. Scaling happens in the final drawing. Means if you enter a value of 1cm somewhere and the scale factor is set to two then 2cm will be used in the drawing! Pressing the 'Apply' button will scale the depending options and reset the scale factor to one. - The reference point option control allows to enter pixel or other unit values now (instead of percent). - Added switch 'Origin at center of pixel (else in-between pixels)' If set then - the position (0,0) is at the center of the top/left pixel of the bounding rectangle of the selection - reference point values will be rounded to integer values without fractional parts If not set then - the position (0,0) is at top/left of the top/left pixel of the bounding rectangle of the selection - reference point values will not be rounded So if the switch is off you get more precise results but maybe not what a user expects at first glance. - Tooltip of NumericUpDown controls shows the value of the control in different units now (before just the possible unit names). - Added a work-around to avoid that sometimes the first tab page of the dialog shows a slider. The basic issue is still not fixed in OptionBasedLibrary but it should be OK for this dialog.
  6. Update 1.4 (31.12.2014) - Fix to support Paint.NET 4.0.5 which is more strict in the order of serialized data. Thanks for reporting and a Happy New Year. Still 1 1/2 hours left in Switzerland but I have to hurry up now. cu next year.
  7. Got an example from Goonfela, thanks. There seems to be a general issue in 4.05 using the current version of the plugin or older ones. Plugin works fine in 3.5.11 and 4.0.1. There will not be a fix this year ;-)
  8. Two times the same error report on the same day, what happed guys? ;-) Yes please, an example file would be nice.
  9. You may store an options settings file (like OverlappingCircles.xml) at any place because Load... will ask you for the location. But the default path of the file selector is your Paint.NET user folder (this name depends on the language): ...\Paint.NET User Files\OptionBasedEffects\ParallelLinesEffect\ Does this answer your question?
  10. Hi Eli, from my point of view this would be a feature for a plugin which uses bitmaps already to fill the selection. PLAP is vector oriented. So there is a little dwarf sitting in your computer using a pen and a brush to draw and fill the vector paths ;-) Maybe in the future you may be able to define your own vector shapes like the fir tree. Yeah I know there is still a small problem if you are using Tabs in OptionBasedLibrary. The Layout engine of .NET behaves a little bit strange using tabs. It happens if you are closing the dialog with OK on a tab which is not completely filled with controls. So in the moment just say OK on the first tab page to avoid it.
  11. Christmas Update: Many thanks to a great community and peaceful days for all of us. 1.3 (19.12.2014) - Diamond, Ellipse and Rectangle Shape cover now the whole period if 'Center at' is set to 50% (the default value) This makes it easier to create overlapping shapes without loosing any of the old functionality. - Changed the start point of the Spiral Wave so that it looks more symmetric in limited length mode. - Added 'Fill Color of Lines'. Because waves do not have closed shapes they will look half-filled. 'Stroke color of Lines' allows to set the value 'None'. - Added 'Fir Tree' shape (inspired by Seerose ;-) An easy way to check this out is to copy the following options xml text to the clipboard and paste it to the dialog via the menu popup button at the bottom of the dialog 'Menu->Manage Options->Paste'. Hidden Content: <?xml version="1.0" encoding="utf-8"?> <OptionBasedEffectConfigToken xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Effect> <name>ParallelLinesEffect</name> <version>1.0</version> </Effect> <Items> <Item> <Key> <string>ReferenceLengthType</string> </Key> <Value> <anyType xsi:type="xsd:int">0</anyType> </Value> </Item> <Item> <Key> <string>ReferenceLength</string> </Key> <Value> <anyType xsi:type="xsd:double">200</anyType> </Value> </Item> <Item> <Key> <string>LineWidth</string> </Key> <Value> <anyType xsi:type="xsd:double">1</anyType> </Value> </Item> <Item> <Key> <string>LineJoin</string> </Key> <Value> <anyType xsi:type="xsd:int">3</anyType> </Value> </Item> <Item> <Key> <string>LineCaps.First</string> </Key> <Value> <anyType xsi:type="xsd:int">0</anyType> </Value> </Item> <Item> <Key> <string>LineCaps.Second</string> </Key> <Value> <anyType xsi:type="xsd:int">0</anyType> </Value> </Item> <Item> <Key> <string>LineShape</string> </Key> <Value> <anyType xsi:type="xsd:int">17</anyType> </Value> </Item> <Item> <Key> <string>LineAmplitude</string> </Key> <Value> <anyType xsi:type="xsd:double">60</anyType> </Value> </Item> <Item> <Key> <string>LinePeriod</string> </Key> <Value> <anyType xsi:type="xsd:double">80</anyType> </Value> </Item> <Item> <Key> <string>LineSplit</string> </Key> <Value> <anyType xsi:type="xsd:double">50</anyType> </Value> </Item> <Item> <Key> <string>LineTilt</string> </Key> <Value> <anyType xsi:type="xsd:double">30</anyType> </Value> </Item> <Item> <Key> <string>ParallelsCountType</string> </Key> <Value> <anyType xsi:type="xsd:int">0</anyType> </Value> </Item> <Item> <Key> <string>ParallelsCount</string> </Key> <Value> <anyType xsi:type="xsd:int">5</anyType> </Value> </Item> <Item> <Key> <string>ParallelsDistanceType</string> </Key> <Value> <anyType xsi:type="xsd:int">0</anyType> </Value> </Item> <Item> <Key> <string>ParallelsDistance</string> </Key> <Value> <anyType xsi:type="xsd:double">80</anyType> </Value> </Item> <Item> <Key> <string>ParallelsDrift</string> </Key> <Value> <anyType xsi:type="xsd:double">50</anyType> </Value> </Item> <Item> <Key> <string>ReferencePoint.X</string> </Key> <Value> <anyType xsi:type="xsd:double">0</anyType> </Value> </Item> <Item> <Key> <string>ReferencePoint.Y</string> </Key> <Value> <anyType xsi:type="xsd:double">0</anyType> </Value> </Item> <Item> <Key> <string>ReferenceAngle</string> </Key> <Value> <anyType xsi:type="xsd:double">0</anyType> </Value> </Item> <Item> <Key> <string>ReferenceShow</string> </Key> <Value> <anyType xsi:type="xsd:boolean">true</anyType> </Value> </Item> <Item> <Key> <string>ReferenceResolution</string> </Key> <Value> <anyType xsi:type="xsd:double">96</anyType> </Value> </Item> <Item> <Key> <string>ColorStrokeLinesSource</string> </Key> <Value> <anyType xsi:type="xsd:int">1</anyType> </Value> </Item> <Item> <Key> <string>ColorStrokeLinesCustom.Color</string> </Key> <Value> <anyType xsi:type="xsd:int">-16777216</anyType> </Value> </Item> <Item> <Key> <string>ColorStrokeLinesCustom.ColorSelect</string> </Key> <Value> <anyType xsi:type="xsd:int">4</anyType> </Value> </Item> <Item> <Key> <string>ColorFillLinesSource</string> </Key> <Value> <anyType xsi:type="xsd:int">2</anyType> </Value> </Item> <Item> <Key> <string>ColorFillLinesCustom.Color</string> </Key> <Value> <anyType xsi:type="xsd:int">-16711894</anyType> </Value> </Item> <Item> <Key> <string>ColorFillLinesCustom.ColorSelect</string> </Key> <Value> <anyType xsi:type="xsd:int">4</anyType> </Value> </Item> <Item> <Key> <string>ColorBackgroundSource</string> </Key> <Value> <anyType xsi:type="xsd:int">0</anyType> </Value> </Item> <Item> <Key> <string>ColorBackgroundCustom.Color</string> </Key> <Value> <anyType xsi:type="xsd:int">-1</anyType> </Value> </Item> <Item> <Key> <string>ColorBackgroundCustom.ColorSelect</string> </Key> <Value> <anyType xsi:type="xsd:int">4</anyType> </Value> </Item> <Item> <Key> <string>Pages.PageIndex</string> </Key> <Value> <anyType xsi:type="xsd:int">0</anyType> </Value> </Item> </Items> </OptionBasedEffectConfigToken> Or save the text to a file and load it via 'Menu->Manage Options->Load...' Here is an other example file: OverlappingCircles.xml
  12. Update 1.2 (17.12.2014) - Added option to limit the length of the parallel lines to reference section. - Added start end end caps for limited continous lines (without gaps). - Added 'Spiral' line type - Added keywords to the code used by plugin browser
  13. Oh Cc4FuzzyHuggles figured out already how to create fish-scales or roofing shingles and TechnoRobbo shows us how to increase the entropie of a simple regular pattern, great. I thought about this. For a quarter of a second ;-) But there are all the users using an other language setting. BTW: If you prefer a different submenu then you can change it in the .dlc file. You may even translate it there. Look for the key ParallelLinesEffect.SubmenuName= Typical case of a plugin where the coding takes 10% and designing of the UI 90% of the time.
  14. Update 1.1 (11.12.2014) - Fixed the wrong symbol image of the 'Divided Line' shape (an error in the OptionBasedLibrary) . Added the option to specify an amount of parallel lines - Added dash-dotted line shape
  15. Not all shapes do allow to alter the tilt value. Basicly all which show a tilted vertical bar in the icon of the shape. I.e. The Slashed Line shape. BTW: The icon of the Divided Line shape is wrong. It must be just a vertical bar. The length value of the reference vector is not used in the moment by the plugin. That's why it is disabled. In the moment the plugin just works in fill mode. In the future it may be possible just to draw lines from the reference point with the reference length and the parallels. Have a look to the tabs at the top of the dialog. In the reference section you may rotate the lines. In the color tab you may select different colors for the lines and the background. I'm not quite sure about the question. There are always pros and cons for a specific plugin. Sometimes you prefer to use plugins with a minimum amount of controls but sometimes you want to control everything. The Paint.NET philosophy is too provide less but easy to understand features. But plugins may provide you much more features. The important thing is that the user interface has the right structure. I.e: I really like the power of the 'Curly lines' plugin but I can not use it because it takes me too much time to remember the individual options. That's the reason why ParallelLines uses the OptionBasedLibrary to visualize the UI. It allows you to provide the user a more detailed and structured UI but still follows the look and feel of Paint.NET.
  16. Hope you like ii. The plugin will select the language defined in Paint.NET. The fallback is English if the the language is not available in the .dlc files (which are simple text files).
  17. Maybe a small example of a regular pattern created with the plugin: Post your own...
  18. 'Parallel Lines and Patterns' Render Effect Plugin Summary This Paint.NET effect plugin allows you to fill the selection of the current layer with parallel lines or patterns. Ok there are two plugins already allowing to fill with parallel lines (Scan Lines, Diagonal lines) but maybe you like this basic one too. Keywords Render, Fill, Parallel Lines, Diagonal Lines, Waves, Hatches, Patterns, Moire effect Author Martin Osieka Download >> ParallelLines v1.6 (8.3.2015) Installation Follow the instructions carefully Unzip "ParallelLines.Effect vX.X.zip" Copy the two files OptionBasedLibrary vX.X.dll/.dlc to the Paint.NET\ folder (NOT to Paint.NET\Effects\ !!!) A typical location is "C:\Program Files\Paint.NET". Copy the two files 'ParallelLines.Effect.dll/dlc' to the Paint.NET\Effects\ folder. A typical location is "C:\Program Files\Paint.NET\Effects". Do not remove older versions of the OptionBasedLibrary if they are required from other plugins. After a restart of Paint.NET you will find the plugin at Menu->Effects->Render->Parallel Lines and Patterns... (oder für deutsche Anwender unter Menu->Effekte->Rendern->Parallele Linien und Muster... ;-) Compatibility Paint.NET 3.5.11 and 4.0.5 Supported languages The language used in the plugin depends on the language setting of Paint.NET and the support of this language by the plugin. The fallback is the first supported language of the plugin. Languages are defined in the .dlc files. This plugin supports the following languages in the moment: English Deutsch You may add your own translation to the .dlc file. Dialog options The options of the effect are subdivided in three sections: Proportions, Orientation, and Colors. You can select a section via the tabulators on top of the dialog. Proportions Section The options in this section define the proportions of the final fill pattern. A line is composited from line segments. A line segment has several options which define shape and size of the segment and because the segment is repetitive also of the whole line. Parallels Count: You may select 'Infinite' to fill the area above and below of the reference vector 'One line' which means there are no parallel lines just one single line. 'Custom' which enables the value control below. There you can enter the number of lines you like to get. Distance: The distance between the parallel lines depends on the setting 'Center of lines' and 'Border of lines'. 'Border of lines' means somehow the maximum bounding box of a single line. This value is an estimate because it depends on a lot of options and the way the rendering engine works. if 'Center of lines' is selected then the lines may overlap. Drift: This value defines how much a line is shifted horizontally compared to its neighbour line. Whole Line Length: Choose between 'Infinite' which means there is no limitation of the length in the visible area 'One period' the length is defined by the 'Period' option of the 'Repetitive line segment' 'Custom' s user defined length. But repect that the real length is in most cases a multiple of a 'Period'. Thickness: The width of the pen used to draw a line. Joining: Defines how vertices of a line segment are drawn. Only used for lines with vertices. Caps: The caps at the start and the end of a continous line. Repetitive Line Segment Shape: Defines the basic look of the segment. There are basic lines, waves and closed shapes. Amplitude: The distance between top and bottom of lines with vertical elements. Period: The length of a line segment before it repeats Split at: Some shapes are divided in a first and a second half. Changing the split value changes the ratio of the two parts. Here a Square Wave using different split values: Tilt: Some shapes show a tilted line element in the shape. Respect changing the tilt value does not change the amplitude instead the length of the tilted element will change. Orientation Section In this section you are defining the reference vector of the lines, and optional scale factor, and the dpi value of the layer (if you like to use cm or inch input values). Reference vector 'Origin at center of pixel If set then - the position (0,0) is at the center of the top/left pixel of the bounding rectangle of the selection - reference point values will be rounded to integer values without fractional parts If not set then - the position (0,0) is at top/left of the top/left pixel of the bounding rectangle of the selection - reference point values will not be rounded So if the switch is off you get more precise results but maybe not what a user expects at first glance. Check the difference by drawing a one pixel line. Starting Point and angle: These values define the origin and orientation of the basic line segment. All other line segments are drawn relative to the basic line segment. Length: Not used in the moment Show while dialog is open: If checkmarked then the layer will show a red rectangle and a small circle. The circle is the origin and the rectangle is calculated from amplitude, period and reference angle. In the final rendering of the layer these indicators will never be visible. Reference Scale Scaling happens in the final drawing. Means if you enter a value of 1cm somewhere and the scale factor is set to two then 2cm will be used in the drawing! Pressing the 'Apply' button will scale the depending options and reset the scale factor to one. Image Resolution: The resolution option is only of interest if you like to enter cm or inch values in the dialog. You should set the value used in the image here. Makes most sense if you like to print the image later in the specified resolution. Best is to use the 'Print It' plugin ;-) Colors Section You may set the color of the lines and the background here. The default values are: Use Paint.NETs Primary Color for the lines and the original layer content for the background. Lines are always rendered against the selected background. So changing the opacity of the line color will show you the selected background color below. Hints You may use units like cm and inch to specify values in the controls (see the tooltip of the control). Converting from the current value in the control to a different unit is done by just typing the new unit into the edit field without a value. Clearing the editfield will return to the current value with the base unit (the first unit in the tooltip. Some controls provide additional features if you are pressing shift while the mouse is used. I.e. the slider values will be catched to fixed values. Instead of shift you may press the right mouse button together with the left one. Known issues Paint.NET does not provide the dpi value of the current image to effect plugins. The plugin uses the dpi value to allow the user to enter values in cm or inch. To get correct values you have to enter the dpi value of the image in the reference tab of the dialog. The default value is 96 dpi. Examples History 1.6 (8.3.2015) - The Circle, square, dieamond, and hexagon shape use the center parameter. - The dialog can be resized. - The interference layer angle got the option to 'spread' the reference vector or to ' add' to the vector 1.5 (18.1.2015) - Added 'Interference layer' option: Allows to overlay a duplicate of the line pattern with a different angle. This may be used to create a moire effect. 1.4 (4.1.2015) - Reorganized the shape line types to make it easier to use regular shape types and their stretched parts. The size of Circles, Squares, Diamonds and Hexagons is defined only by the amplitude option now. The streched variants like ellipse, rectangle, streched diamonds and stretched hexagons work as before. - Added Hexagon Shapes - Length of whole line allows to select 'One Period' now. This makes it easier to render just one single line segment like a single hexagon. - Added reference scaling. Scaling happens in the final drawing. Means if you enter a value of 1cm somewhere and the scale factor is set to two then 2cm will be used in the drawing! Pressing the 'Apply' button will scale the depending options and reset the scale factor to one. - The reference point option control allows to enter pixel or other unit values now (instead of percent). - Added switch 'Origin at center of pixel (else in-between pixels)' If set then - the position (0,0) is at the center of the top/left pixel of the bounding rectangle of the selection - reference point values will be rounded to integer values without fractional parts If not set then - the position (0,0) is at top/left of the top/left pixel of the bounding rectangle of the selection - reference point values will not be rounded So if the switch is off you get more precise results but maybe not what a user expects at first glance. - Tooltip of NumericUpDown controls shows the value of the control in different units now (before just the possible unit names). - Added a work-around to avoid that sometimes the first tab page of the dialog shows a slider. The basic issue is still not fixed in OptionBasedLibrary but it should be OK for this dialog. 1.3 (19.12.2014) - Diamond, Ellipse and Rectangle Shape cover now the whole period if 'Center at' is set to 50% (the default value) This makes it easier to create overlapping shapes without loosing any of the old functionality. - Changed the start point of the Spiral Wave so that it looks more symmetric in limited length mode. - Added 'Fill Color of Lines'. Because waves do not have closed shapes they will look half-filled. 'Stroke color of Lines' allows to set the value 'None'. - Added 'Fir Tree' shape 1.2 (17.12.2014) - Added option to limit the length of the parallel lines to reference section. - Added start end end caps for limited continous lines (without gaps). - Added 'Spiral' line type - Added keywords to the code used by plugin browser 1.1 (11.12.2014) - Fixed the wrong symbol image of the 'Divided Line' shape (an error in the OptionBasedLibrary) - Added the option to specify an amount of parallel lines - Added dash-dotted line shape 1.0 (10.12.2014) - First public release
  19. Two additional remarks: If you are looking for animations in the IFF format then you should not miss the following page: http://www.randelshofer.ch/animations There are two other entries supporting iff plugins in the filetypes section. These plugins never worked quite well in 3.5.11 and they do not work in Paint.NET 4.0.
  20. 'Interchange File Format' FileType Plugin (.IFF, .ILBM, .LBM, .ANIM) Summary Paint.NET FileType plugin which loads images and animations in some of the IFF file formats. Some because IFF is a container format which may contain all kind of data (images, animations, documents, audio, video, ...). This format was used on Atari and Amiga computers in the Nineties of the 20th century. Supported open formats: - IFF-ILBM: Interleaved images with 1 to 8, 24, and 32 planes. HAM-6 and HAM-8 subformats are supported. - IFF-PBM: Non-interleaved images - ILBM images containing color cycles. Color cycles are a method to create animations by changing entries in the color map instead of the image data. Each possible cycle will create a new frame. - IFF-ANIM: Animations providing a base frame and additional delta frames. Delta operations 5,7, and 8 are supported. Supported save formats: - None. Each frame of an animation will be loaded as a layer in Paint.NET. The layer name will me marked with !ST<duration>, where duration is the time the frame should be shown in milliseconds. If a layer is not marked with !ST<duration> then the time of the previous frame will be assumed. This marker is recognized by the PDNAnimator tool and can be used to transform the animation in a more modern file format (like APNG). Author Martin Osieka Download Find the latest version of the plugin here >> ImIFF.FileType v1.0 (31.10.2014) Installation Follow the instructions carefully Copy the file ImIFF.FileType.dll to the Paint.NET\FileTypes\ folder Remove other plugins supporting the same file types (.iff, .ilbm, .lbm, .anim) from Paint.NET\FileTypes\ folder (to avoid possible conflicts) I.e. 'PDNIFFPLUGIN.dll' plugin. After a restart of Paint.NET you will find two new entries in the file types popup of the 'Open' dialog: IFF Images (.iff,*.ilbm,*.lbm) IFF-Animations (*.anim). Be aware any of these extensions may load all kinds of supported IFFs. The selected extension is just used as dialog filter. Compatibility Paint.NET 3.5.11 and 4.0.5 Supported languages English Known issues If the file contains color cycles with different frequencies then only the frames for the first color cycle will be generated. The reason is that trying to generate all possible combinations of the different color cycles may generate an infinite number of frames. Unknown issues If you are not able to load an iff image or animation and you are 99% sure that the file is not damaged then provide a copy for testing. To Do list Some options to adapt the imported files (like respecting the aspect ratio). Examples None History 1.0 (31.10.2014) First public release
  21. No idea what part of the code could write tmp files but maybe these are core dumps. Are you sure you used for 0.9 the OptionBasedLibrary provided in 0.9? I'm still in developing the lib together with PrintIt that's why just the build number changes. The basic information needed is Paint.Net->Settings->Diagnostic.
  22. After adding some options in the latest releases I see the risk that some users will tell: I just like to print an image and not to check a lot of options. So I'm thinking about to add an Overview page (like in the following dummy): All items in the Overview are command buttons. Clicking them will select the option in the related tab. Any opinion (pros and/or cons) from the user perspective?
  23. Update 0.9 (3.9.2014) - The preview controls moved to a collapsable control outside of the tabs. - The preview control allows to activate a 1:1 mode. In this mode a zoom value of 100% means that that the size of the document on screen is exactly the size of the sheet. For this mode you have to enter the calibrated DPI value of your screen. . Printer tab: The entries in the printer names combobox are sorted now - Printer tab: Sheet and poster size infos respect the preview unit setting - Printer tab: Virtual sheet tells the amount of real sheets - Printer tab: Added 'Collate' switch if number of copies is greater than one (Be warned not all printer drivers are able to handle this) - Printer tab: Some printers do not support 'Copies'. In this case the Number of copies entry will be disabled. - Printer tab: Added printer status and type information. Status message changes may be slow on some devices. It depends in most cases on the printer driver. - Printer tab: Added print source: In the moment just the active layer. 'Print It - collection' will allow you to create a collection of images in the future. . Printer tab: Added feature to restrict the print source to the selected area - Printer tab: Added range of sheets: All sheets, Selected range of sheets - Printer tab: Added a test print button. Test page can be used to check the printable area of the sheet and to correct the offset later. - If the printer test page shows that the center is not in the center of the sheet then the offset of the printable area may be wrong. To nodify the offset you can edit the .ppd file of the printer or just add the variables PAH=x and/or PAV=y to the printer comment (x and y are values in cm). - Layout tab: Info texts for area size, original image size and new image size are implemented. - Layout tab: The new image size shows you the real print dpi value which helps to decide if the original image provides enough pixels. - Layout tab: Scaling control of "Image Size = Scale Print Size of Image" shows now a 'keep in sync' button to keep the aspect ratio of the image intact. - Layout tab: The margins control should be more user friendly now - The text of the OK button has been changed to 'Print'
  24. The problem is that you can not ask a screen for its real dpi value just for a logical one. So a correction factor will not work. I.e. my laptop has a real value of 127 dpi and the external one 94 dpi. But both are telling 96 dpi. And the user can change this 96 to anything. The logical value is used to scale the ui elements. BTW: I know just one application which allows to get a WYSIWYG effect. It's Adobe Reader. There is Preferences->Page Display->Resolution->Custom resolution: xxx dpi.