Page 1 of 1

How to: Display a translucent PNG logo/banner overlay?

PostPosted: Mon Mar 05, 2012 11:55 am
by Axel
Starting from v1.7.242 FastPictureViewer can display an overlay image on top of the program's display surface. This feature is great for public presentations where you want your logo or banner to be displayed on-screen, for example if you do a shooting in public using the built-in tethering or folder watching functions, and project the pictures to the wall as you shoot them, you can now easily add a logo superimprint.

Think of it as an on-screen watermark (the XYZ Photography stylized transparent text is a PNG overlay):

The feature works as follow: simply create a PNG file of reasonable dimensions, save it with a specific name and put it in your image's folder. That's it.

If you want a watermark-style display simply make your PNG semi-transparent by setting its opacity to less than 100% in whathever image editor you'll be using to create the file: 30 to 50% opacity usually works well.

The PNG file must be named Overlay.fpv by default. Technically you could also use a GIF, JPEG or TIFF but a PNG with Alpha-transparency will typically give the best results.

You can easily create semi-transparent PNGs using Adobe Photoshop or the free Paint.NET image editor, for example. You create the PNG watermark yourself so you are in full control and you can make it look exactly like you want: use any font style or bitmap effects allowed by your image editor, subtle shadows, transparency masks, colors etc.

When you open an image folder, the program looks for this file and, if present, loads it and displays it permanently at the upper-left of the program's window in its own "layer" which is unaffected by zooming or panning.

There is no user interface preference options to control this feature, it's just an "implicit" function: if the Overlay.fpv file is present in the root image folder then it will be displayed. You can use different Overlay.fpv files in different image folders and the program will always pick the on in the folder you are opening.

Two registry values can be user to alter the defaults: OverlayFileName (REG_SZ) can be user to specify a different name than Overlay.fpv. YOu can also use a relative name (like "..\Logo.png") or a full path ("C:\Logos\Logo.png"), in which case the overlay will be shown for all image folders.

The default name, Overlay.fpv, is somewhat arbitrary but it is important to NOT name it like a regular image (i.e not .png), unless you want the logo to be displayed alongside the other images in the folder. If you use the OverlayFileName (REG_SZ) registry value and set it to an absolute path then the file name can be antyhing.

The other registry value is OverlayPosition (REG_DWORD) and the only supported values at this time are 0, meaning upper-left corner) and 8000 (hexadecimal = 32768 decimal) to align the logo relative to the image instead of relative to the program's window.

Both registry values should be created under HKEY_CURRENT_USER\Software\ARSD\FastPictureViewer

The overlay is a "textured quad" in Direct3D lingo and as such it is subject to any texture dimension limitations imposed by the display adapter. On some cards the dimensions must be a power of two (2, 4, 8, 16, 32, 64, 128, 256 or 512 pixels) and on some other cards the textures must be square, i.e. 128x128 but not 64x128. Newer graphic cards don't have these restrictions and you can always leave any unused area completely transparent so those limitations, when present, should not be a major problem.

In non-GPU-accelerated mode (i.e. classic drawing mode) the dimensions can be arbitrary, within reason. If your watermark displays fine with GPU acceleration turned off but does not show with GPU acceleration enabled, check with your card manufacturer to find out the texture sizes supported by your particular adapter and conform to these values when creating your watermark.