I had a picture representing an A4 page, I resized it with Microsoft picture manager (changed definition) to lower the size of the file, but in the process "picture manager" didn't change the ppi "pixel per inch" automatically to keep the picture to the size of an A4 page. So my other tools (an "all to pdf" converter) couldn't understand the right size of the picture and the output was a very small page.
You need softwares like irfan vue, xnvue, or photoshop to edit the ppi, which doesn't make sens to me.
So I made this tiny tool, with C#, to allow changing the ppi of a jpeg file very easily.
License
Public Domain, Creative Commons Attribution LicenseFollow tiny ppi editor
Other Useful Business Software
Simplify IT and security with a single endpoint management platform
NinjaOne automates the hardest parts of IT, delivering visibility, security, and control over all endpoints for more than 20,000 customers.
The NinjaOne automated endpoint management platform is proven to increase productivity, reduce security risk, and lower costs for IT teams and managed service providers. The company seamlessly integrates with a wide range of IT and security technologies. NinjaOne is obsessed with customer success and provides free and unlimited onboarding, training, and support.
Rate This Project
Login To Rate This Project
User Reviews
-
On Windows 10 Home version 22H2 build 19045.4894 saving an image with dpi 300 failed with following GDI+ exception: ************** Ausnahmetext ************** System.Runtime.InteropServices.ExternalException (0x80004005): Allgemeiner Fehler in GDI+. bei System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams) bei System.Drawing.Image.Save(String filename, ImageFormat format) bei ppp.Form1.button2_Click(Object sender, EventArgs e) bei System.Windows.Forms.Control.OnClick(EventArgs e) bei System.Windows.Forms.Button.OnClick(EventArgs e) bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) bei System.Windows.Forms.Control.WndProc(Message& m) bei System.Windows.Forms.ButtonBase.WndProc(Message& m) bei System.Windows.Forms.Button.WndProc(Message& m) bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ************** Geladene Assemblys ************** mscorlib Assembly-Version: 4.0.0.0. Win32-Version: 4.8.9261.0 built by: NET481REL1LAST_C. CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll. ---------------------------------------- ppp Assembly-Version: 1.0.0.0. Win32-Version: 1.0.0.0. CodeBase: file:///D:/Programme/Media/ChangeDpi/ppp.exe. ---------------------------------------- System.Windows.Forms Assembly-Version: 4.0.0.0. Win32-Version: 4.8.9251.0 built by: NET481REL1LAST_C. CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll. ---------------------------------------- System Assembly-Version: 4.0.0.0. Win32-Version: 4.8.9261.0 built by: NET481REL1LAST_C. CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll. ---------------------------------------- System.Drawing Assembly-Version: 4.0.0.0. Win32-Version: 4.8.9037.0 built by: NET481REL1. CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll. ---------------------------------------- System.Configuration Assembly-Version: 4.0.0.0. Win32-Version: 4.8.9037.0 built by: NET481REL1. CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll. ---------------------------------------- System.Core Assembly-Version: 4.0.0.0. Win32-Version: 4.8.9261.0 built by: NET481REL1LAST_C. CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll. ---------------------------------------- System.Xml Assembly-Version: 4.0.0.0. Win32-Version: 4.8.9037.0 built by: NET481REL1. CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll. ---------------------------------------- Accessibility Assembly-Version: 4.0.0.0. Win32-Version: 4.8.9037.0 built by: NET481REL1. CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll. ---------------------------------------- System.Drawing.resources Assembly-Version: 4.0.0.0. Win32-Version: 4.8.9037.0 built by: NET481REL1. CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing.resources/v4.0_4.0.0.0_de_b03f5f7f11d50a3a/System.Drawing.resources.dll. ---------------------------------------- System.Windows.Forms.resources Assembly-Version: 4.0.0.0. Win32-Version: 4.8.9037.0 built by: NET481REL1. CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll. ---------------------------------------- mscorlib.resources Assembly-Version: 4.0.0.0. Win32-Version: 4.8.9037.0 built by: NET481REL1. CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_de_b77a5c561934e089/mscorlib.resources.dll. ---------------------------------------- ************** JIT-Debuggen ************** Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der Konfigurationsdatei der Anwendung oder des Computers (machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden. Die Anwendung muss mit aktiviertem Debuggen kompiliert werden. Zum Beispiel: <configuration> <system.windows.forms jitDebugging="true" /> </configuration> Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten Ausnahmen an den JIT-Debugger gesendet, der auf dem Computer registriert ist, und nicht in diesem Dialogfeld behandelt.