Jump to content

Full screen preview of current pic?


Recommended Posts

No options or plans for a quick full screen preview of current pic?

Larger side should be always fully displayed in the viewport (with mousewheel zoom-in/out feature).

 

Annoying the fact you have to save first and then open the saved file with a pic-viewer to have a full glance view with zoom-in/out without distracting (white) borders etc.

Link to comment
Share on other sites

  • 3 months later...
Quote

Annoying the fact you have to save first and then open the saved file with a pic-viewer to have a full glance view with zoom-in/out without distracting (white) borders etc.

Apparently, users have been requesting this for 15 years.  I found a thread from 2007.

 

I formerly used Corel PhotoPaint (they stopped updating it), and it was a simple F9.

Link to comment
Share on other sites

1 hour ago, BoltBait said:

Have you tried Ctrl+B ?

There's a misunderstanding here: I meant a fullscreen temporary overview of current pic, not just enlarge to 1:1 (100%) while editing. Something like when you open a pic with Windows Photos (double-click from Explorer) and you press F11 for fullscreen view...

Link to comment
Share on other sites

4 hours ago, HankP said:

Apparently, users have been requesting this for 15 years.  I found a thread from 2007.

 

Just because one person requested it in 2007, and another in 2023, does not mean "users have been requesting it for 15 years". If it were a highly requested feature then I would know and I would probably prioritize it appropriately. But that's not the case.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

1 hour ago, BoltBait said:

Well, if you hit Ctrl+B again, it goes back to the view you had before.

Please, in Windows, double-click on an image file: will get open automatically with Windows Photos. Now press F11, you'll get an idea of what I mean with "fullscreen overview" of your current work ;)

Link to comment
Share on other sites

I'd like to to add my request for a zoomable fullscreen preview in Paint.NET please.

 

In the meantime, here's an AutoHotKey script that I use to display the active Paint.NET image fullscreen in IrfanView when F9 is pressed.

 

AutoHotKey script: 'PDN View Fullscreen.ahk'
(without comments)
 

Spoiler
#Requires AutoHotkey v2
#SingleInstance Force
IrfanView := "C:\Program Files\IrfanView\i_view64.exe"
#HotIf WinActive("ahk_exe paintdotnet.exe")
F9::
{
	Send "^d"
	A_Clipboard := ""
	Send "^+c"
	if !Clipwait(10, 1)
		exit    
	While DllCall("GetOpenClipboardWindow")
		Sleep 100
	Run IrfanView . " /fs_exit /bf /clippaste", , "Max"
	Sleep 2000
	A_Clipboard := ""
}

 



Here's the same script, fully annotated with comments to explain its operation. I've also included a few different options on the way that the IrfanView window can be displayed:
 

Spoiler
; AutoHotKey script: 'PDN View Fullscreen.ahk'
;
; In Paint.NET, does a Copy Merged of the active image and pastes this into Irfanview
; to view fullscreen.
;
; Hotkey: F9 while Paint.NET is the active window
;
; Side effects:
; 1. Deselects any selection that is active in Paint.NET
; 2. The current contents of the clipboard are cleared
; 
; Has no effect if Paint.NET is not the currently active window.
;
; Create a shortcut to this .ahk script file in the Windows Startup folder, which can be
; found by entering shell:startup in Windows Explorer's address bar.
; The usual location is:
; C:\Users\<users_folder>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup


; Require the use of AHK v2.0 or later

#Requires AutoHotkey v2

; Allow only one instance of the script to be active.
; If the script is re-run (e.g. after editing the .ahk), the currently running
; instance will be replaced with the new version

#SingleInstance Force

; Path to IrfanView in which image is to be viewed fullscreen

IrfanView := "C:\Program Files\IrfanView\i_view64.exe"

; Define the hotkey F9 to trigger only if the Paint.NET window is active 

#HotIf WinActive("ahk_exe paintdotnet.exe")
F9::
{
	; Since we want to Copy Merged the entire active image, first deselect
	; any selection that is active using the keyboard shortcut Ctrl+D

	Send "^d"
	
	; Empty the clipboard
	
	A_Clipboard := ""

	; Use Ctrl+Shift+C to do a Copy Merged of the active image. A flattened version
	; of the visible layers will be copied to the clipboard
	
	Send "^+c"
	
	; Wait for the binary image data to begin to be copied to the clipboard.
	; Timeout and skip all subsequent processing if no data has begun to be copied
	; after 10 seconds has elapsed. This will occur if Paint.NET is running but there is
	; no active image, i.e. all images have been closed and there's nothing to copy.
	; A long timeout is necessary before deciding to exit to give sufficient time for
	; Paint.NET to generate the merged image in the case where the canvas is massive and
	; there are many layers (I've tested images up to 20,000 x 10,000 pixels with 10 layers).
	
	if !Clipwait(10, 1)
		exit
	
	; Wait in chunks of 100ms until Paint.NET has finished copying the image to clipboard.
	; The time taken depends on the size of the image and the speed of the system, ranging
	; from a fraction of a second to a few seconds for a very large image.
	; GetOpenClipboardWindow returns the handle to the window that has the clipboard open.
	; When no window has the clipboard open, the return value is NULL

	While DllCall("GetOpenClipboardWindow")
		Sleep 100

	; Run IrfanView with with the window maximized and with parameters:
	;  fs_exit - force fullscreen display; exit when ESC is pressed
	;  bf - force 'Fit images to desktop' display option
	;  clippaste - paste image from the clipboard

	Run IrfanView . " /fs_exit /bf /clippaste", , "Max"

	; Alternative command lines to the above:
	; 1. Force fullscreen display; return to the normal windowed view when ESC pressed
 	; Run IrfanView . " /fs /bf /clippaste", , "Max"
	;
	; 2. Display image in windowed view but with all UI except the menubar hidden
	; Run IrfanView . " /hide=11 /bf /clippaste", , "Max"
	;
	; 3. Display image in windowed view but with normal UI as set in IrfanView Preferences
	; Run IrfanView . " /bf /clippaste", , "Max"


	; Free clipboard memory. Note that there's no means of knowing when IrfanView has
	; finished copying the image from the clipboard. However even for very large images,
	; the action is nearly instantaneous, so the script just delays a couple seconds before
	; emptying the clipboard
	
	Sleep 2000
	A_Clipboard := ""
}

 



I created this script (and another to go the other way) to allow me to swap quickly between Paint.NET and IrfanView. I do this quite frequently because there are some things that IrfanView does easily that are difficult (or tedious) to achieve in Paint.NET.

If anyone needs help using this script then feel free to message me or post here.


----------
UPDATED: Small change made to the script to add a timeout to Clipwait to handle the case that a user presses the F9 hotkey when Paint.NET is running but no images are open.

 

 

  • Upvote 3
  • You're a Smart Cookie! 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...