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 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.
Microsoft .NET Framework 3.5 Service Pack 1 or higher
- 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