CNS Image is a FileMaker® plug-in for working with images. You can work with images stored in container fields or stored on the hard drive. On the most basic level, you can use CNS Image to Import images from the hard drive into FileMaker container fields and Export images from container fields to the hard drive. However, you will find these basic functions much more powerful than FileMaker’s Import and Export. The format of the image you Import or Export can be different than the original. You can use dialogs or hard-coded paths to locate and save images. You can even Import PDFs on Windows® and see a preview of the first page just like you have been able to do on Mac for years.
Importing and Exporting images is only the beginning of CNS Image, though. The plug-in can do so much more with your images. Have you ever needed to rotate an image in a container field? You can do that. Have you ever wanted to have a small thumbnail in your database of a much larger image that is on the hard drive? You can do that. Have you ever wished you could split a PDF into multiple images and browse through them all from FileMaker. You can do that. Have you ever needed to download an image from the internet into a container field? You can do that. Have you ever wanted to adjust the brightness of an image? You can do all these things and more.
CNS Image is not just for FileMaker Pro either. Everything that works under FileMaker Pro will also work under FileMaker Server, with the obvious exception of bringing up a dialog for selecting a file to Import or Export. This means you can use Scheduled Scripts to batch process images at night, or create Instant/Custom Web Publishing solutions that can convert, stretch, crop, and more.
Importing and Exporting
CNS Image allows you to import images into FileMaker Pro container objects from any location on your hard drive. You can either specify the complete path to the image file in your calculation or you can use a standard Open File dialog to allow the user to select an image file. You can even specify the types of image files the user can select in the Open File dialog instead of all available files. CNS Image also allows you to export images from container objects to any location on your hard drive. Again, you can either use a hard coded path, or you can use a Save As type dialog to allow the user to specify a location. When you are exporting a File, you can even have CNS Image convert it to a specific format.
Another method of pulling images into your database with CNS Image is with the GetFromURL function. This function allows you to download images from any website directly into FileMaker Pro.
CNS Image allows you to get a variety of information about an image that is either in a container in FileMaker Pro or on the hard drive. The GetInfo function allows you to extract the Type of image, whether or not the container is stored or by reference, and what the full path and filename of the image is. You can also determine the width, height, resolution, bit depth, jpeg quality, and others. If the file is a Photoshop file or a PDF file, you can extract the number of layers or pages present in the file.
The main focus for CNS Image is not getting images in and out of your database, but instead, it’s focus is on what you can do with CNS Image to manipulate those images all from within FileMaker Pro. You can crop, reflect, resize, rotate, and transform any image all from a calculation. If you need an image to be a different format, you can use the Convert function to do that as well as several other things. CNS Image also can apply filters to your images, such as Blur, Contrast, Edge, Emboss, Modulate (Brightness, Saturation, Hue), and Sharpen.
CNS Image now includes most of the functions previously found in our discontinued MMColor plug-in. These functions allow you to work with color palettes much like you would in a professional design application. You can bring up the system color picker to allow your users to select colors or manually adjust the individual components of a Color Space directly in your calculation. The supported Color Spaces are RGB, RGBA, HSV, HSL, CMY, and CMYK. The colors returned from the plug-in can be used with the TextColor calculation function in FileMaker Pro or it can return color images/chips to store in container fields. These color images/chips can be set to any RGB value, any width and height, and any level of alpha transparency. You can use these color images/chips to dynamically alter the entire appearance of your solution in a matter of seconds, or allow your users to define their own color schemes for the solution you created for them.
CNS Image has a number of utility functions to help you, the developer, create your databases. The SelectFileWithDialog and SelectFolderWithDialog functions can be used to present the user with a dialog asking them to select a file or a folder. You can use this to have the user select a file they want to manipulate in some way or a folder to export an image to. The plug-in also includes a GetPath function which will return the hard drive paths to certain system defined paths like the users’s Desktop or Documents folder. You can also get the path to the FileMaker Application and other useful paths with this function. There are other File functions as well, like Copy, Delete, and Exists.
Along with these functions, CNS Image includes the common utility functions from all of our plug-ins. The Version function returns the version of the plug-in and can be used to check that the plug-in is actually installed. If you are using FileMaker Server’s Auto Update feature, the VersionAutoUpdate function can return the version number in an Auto Update Friendly format. CNS Image also includes the Register function to allow you to register the plug-in from a script. You can either pass in all the registration information directly, or you can have the Register function present a dialog to the user for them to enter in their own registration information. Finally, the Configure function can be used to bring up CNS Image’s Configuration Dialog from a script.
- Import Images with dynamic paths and filenames
- Export Images with dynamic paths and filenames
- Get a variety of information about an image
- Convert image type, size, resolution, depth, quality, and target size
- Crop an image
- Rotate an image
- Reflect or flip an image
- Resize an image
- Transform an image (squish or stretch)
- Download an image from the internet directly into a container field
- Extract layers of an image as new images (Including Photoshop Layers and PDF pages)
- Download GUI elements to your solution.
- Create any sized thumbnails for images.
- Download webcams and other dynamic images to your solutions.
- Create an image browser.
- Create a catalog solution.
- Turn a PDF into separate images for cross-platform viewing in FileMaker.
- Create a screenshot gallery of your solution complete with thumbnails.
- Example database includes six mini solutions as starting points.
- Remember, this is just a short list of ideas, the possibilities are countless.
|Mac||10.9, 10.10, 10.11, 10.12, 10.13, 10.14, 10.15, 11.1|
|Win||Vista, 7, 8, 10, Microsoft .NET Framework 4.5.x, Microsoft Visual C++ 2017 Redistributable Package|
|FileMaker Pro||14.x (32Win), 14.x (64), 15.x (32Win), 15.x (64), 16.x (32Win), 16.x (64), 17.x (32Win), 17.x (64), 18.x (32Win), 18.x (64), 19.x|
|FileMaker Server||12.x, 13.x, 14.x, 15.x, 16.x, 17.x, 18.x, 19.x|
New OS Reqs + New iOS Version + MMColor Merge
- New Mac requirements: 10.9+, 64-bit only, FMP 14+
- New Windows requirements: Vista and above, .NET 4.5.x, MSVC++ 2017 Redistributable
- All new iOS version now included for use with the FileMaker iOS App SDK.
- All new installer database now provided for easy installs.
- The plug-in is now signed for use with FileMaker 18+.
- The plug-in is compiled against the latest FileMaker Plug-in API and makes use of new functions/features where available.
- Fixed an issue with adding the appropriate file extension on files after converting them from PDFs.
- Fixed an issue with GetGSPath not working on servers.
- Imported the following MMColor functions: CreateColorImage, DecToHex, GetColor, GetColorComponent, GetGrayscale, GetImageColor, HexToDec, SetColorComponent, and ShowColorPicker.
- Renamed VersionAutoUpdate function to VersionNumber to reflect the times.
- Updated with latest CNS Core changes.
- Other small bug fixes.
Script Steps & FileMaker 16 Support
- Added script steps when running CNS Image under FileMaker 16.
- Added support for instant online help for functions and script steps under FileMaker 16 (click the small question mark in a circle button located next to the function or script step description).
- Fixed an issue with the Export function not showing a file extension in the file selection dialog.
- Fixed an issue with the Modulate filter where the Hue value took a percentage instead of a radial value.
- Added the Folder Rename function.
- Imported updates from other CNS Plug-ins.
Important bug fixes + CNS Core Updates
- Fixed an issue shutting down the plug-in under FileMaker 15.
- Fixed a crashing issue when using the Export function to save out a converted version of an image.
- Imported many updates from other CNS Plug-ins.
- Removed old External() functions.
- Added some very important thread-safety features to make sure the plug-in runs without issues, especially under FileMaker Server.
- Updated the File_SelectFileWithDialog function with some new parameters/features.
- Added new file functions: Folder_Create, Folder_Delete, Folder_Exists, Folder_List, File_Move, File_Read, File_Rename, File_Size, File_Timestamp, and File_Write.
- Made the plug-in easier to use for Developer’s License holders.
64-bit Support + FMP 15 updates + bug fixes
- Full, cross-platform 64-bit compatibility with the latest versions of FileMaker Pro and Server.
- Removed PPC support from Mac plug-in.
- Updated to the latest FileMaker Pro Plug-in SDK.
- Added support for FileMaker Pro 15 function search and tooltip descriptions (type-ahead support pending FileMaker update).
- Updated thread-safe code to improve reliability, especially on FileMaker Server.
- GetFromURL function now uses cURL and supports https as well as follows redirects.
- Fixed memory leak issues when using the Import function.
- Fixed issues with PDF exports under FileMaker 13+.
- Fixed issues with images in containers under FileMaker 13+.
- Tons of updates and improvements from CNS Core Code.
New version of ImageMagick / Bug fixes
- Updated to ImageMagick 6.9.0.
- Fixed issues with files losing PhotoShop meta data.
- Fixed issues with PhotoShop not displaying correct DPI information after converting with CNS Image.
- Fixed issues with images being inserted as files instead of images into container fields.
- Fixed issues on Windows with inserting images with file names that can’t then be exported using FileMaker’s export functionality.
- Fixed issues with Exporting images and losing the file extensions.
- Fixed issues with the GetInfo function returning temporary paths.
- Changed the Import and Export functions to default to the last folder used in the dialog if the user doesn’t specify a path.
- Fixed an issue where CNS Image was catching crashes from other processes like FileMaker or even other plug-ins.
- Fixed an issue with the Export function causing crashes when you don’t specify a list of image types to (possibly) convert to.
- Updated to the latest version of ImageMagick bringing in almost two years of improvements.
- Fixed an issue with Importing PDFs where the plug-in wasn’t releasing the file causing “still in use” errors.
- Completely rewrote the internal image/file/container handling code to be much more simple and work much better.
- Added User-Agent HTTP header to the get GetFromURL code to fix issues with some web servers.
- Updated the internal networking code to fix crashing issues with GetFromURL.
- Changed how GetFromURL was handling redirects to fix crashing issues on Windows.
- Fixed issues with initializing the ImageMagick library.
- Updated the PDF conversion process to produce much better images by setting the quality to 100%/lossless.
- Fixed issues with converted images not getting the correct file extension.
- Fixed issues with converting to BMPs that could not be viewed by OS X’s Preview app.
- Fixed issues with converted images from container fields not getting the original filename.
- Fixed issues with cleaning up the plug-in’s temporary folder.
- Fixed several issues with converting PDFs to any other format.
- Fixed issues with getting PDF pages.
- Fixed issues with extracting layers out of images.
- Fixed issues with specifying which layer/page to extract. The GetLayer function now treats the first layer/page as index 1 for all image types including PDF.
Enhancements and Bug Fixes
- Significantly reduced the file size of the Mac plug-in, simplifying the internals of the plug-in at the same time.
- Fixed several registration issues, including registration saving issues, crashes when registering, and dialogs not closing correctly.
- Reworked every bit of Windows specific code to fix issues with loading and running under Windows (especially Windows 7).
- Reworked the Ghostscript code to produce much better 72 dpi images of PDF pages.
- Fixed issues with image processing when ImageMagick returned warnings instead of errors.
- Recoded GetImageFromURL to fix issues with many web servers, and added code to handle redirections.
- Fixed a major memory leak in the Import function.
- Imported latest core code improvements from other CNS Plug-ins.
Bug Fixes and Enhancements
- Output of Resize function looks dramatically better.
- Fixed an issue with Developer’s License Keys not being retained.
- Fixed an issue with paths to external drives and network shares.
- Added code that strips an image’s meta data when resizing or changing the DPI to work around issues with other programs reporting the wrong dimensions and DPI. This has the side effect of making thumbnails of JPEG images dramatically smaller.
- Fixed issues with temporary files being left behind when no longer needed.
Complete rewrite from the ground up
- Entire product development brought in-house for better control over the product and more timely updates/releases.
- Complete rewrite of the plug-in from the ground up.
- No longer requires QuickTime.
- Original Convert function renamed to OldConvert (to not break existing solutions), while a new Convert function has been created that does not have the confusing Width and Height parameters.
- A new Resize function has been added to replace that feature from the OldConvert function.
- All new Filter function that allows you to apply filters to images without a dialog.
- GetFromURL function now includes a Timeout parameter to time out the downloads that take too long.
- CNS Image can now create GIF images, so no more automatic conversion to PNG when dealing with them.
- CNS Image can now read PDFs on Windows and is able to replicate the Mac feature of Importing a PDF into a container field, complete with a Preview image of the first page.
- Reading PDFs on Windows also means the plug-in can now split PDF pages into multiple images on Windows.
- Due to the complete rewrite and not using QuickTime, the main functions like Rotate and Crop work correctly now for all image formats.
- Server Edition of CNS Image introduced for using the plug-in with Scheduled Scripts and Web Publishing under FileMaker Server.
Mac-Intel Compatible Version
- Mac-Intel Compatible Version (Filter function disabled temporarily)
Fixed a bug with By Reference Containers / Updated Developer's Mode Functionality
- Fixed a crashing bug with By Reference Containers that didn’t actually point to a file.
- Updated the way the plug-in works in Developer’s Mode to make it easier to work with. If you own a Developer’s License, please contact us for new instructions for this new version.
Fixed a few bugs; better compatibility with Windows
- Fixed a few bugs in the core plug-in code
- Offers better compatibility with FileMaker on Windows (including a fix for the crash when trying to print scripts)
Problem extracting the QuickTime DLL
- Fixed a bug on the Windows platform where the QuickTime DLL could not be extracted if the user had named their C drive.
Initial Release of the Windows version; Export Bug fix for Mac
- Initial Release of the Windows version
- Fixes a crashing bug on Mac in the Export function that appeared with the release of Tiger (OS X 10.4)
Exporting Containers with no FileName/ Optional Convert Parameters
- Fixed a bug in the Export function where it would give you an error if the container did not have a File Name Stream (converted databases and images pasted into containers do not have File Name Streams).
- Fixed a bug in the Convert function where if you specified “” instead of 0 for the optional parameters, it would give you an error about the parameter needing to be a number.
- Initial Release