• Content Count

  • Joined

  • Last visited

Community Reputation

  1. Oh, sorry about that! May I retain the code I wrote for personal use only and promising never to distribute it in any way, or must I destroy it?
  2. I had several hundred "full resolution" scanned tif files that I wanted to make working jpg copies of, at reduced size. I've used Paint.NET for a while, and the older paint programs I used to have that included batch capabilities all seem to be dead and gone. I looked in the plugins list here for a batch processing plugin but found that the only two plugins listed that said anything about batching had both been deleted from the board by the admin. It turned out to still be faster for me to write a command-line utility that uses the PDN built-in FileType's support to convert them all, than it would have been to process hundreds of files by hand. When I was done and the project in the state useful to me was checked into my svn server, I thought, "hey, maybe someone else could use this...". I made a few improvements in error handling, wrote a readme file, added copyright notice and Apache 2.0 open-source license, and zipped up the whole c# project without the build and svn artifacts. Then I joined this forum thinking that I could "publish" it here in the plugins board. But I cannot do that, because the forum's policy is that as a "newbie" I cannot create a topic there until I have made 10 posts elsewhere in the forum. Well, it's your forum, and you surely get to set the rules. But... I'm a professional software developer with 30+ years experience, not a bot or troll; I don't have 9 more things I'd like to post about here; and I don't feel like jumping through any more hoops (such as maybe creating a google code project) to complete the impulse of giving this away. If you'd like to enable me to post in Plugins, please let me know and I'll come back and upload the code. If not, I still want to thank you for making Paint.NET available, I certainly find it useful. thank you, -tom- PS. FWIW, here is the readme file that is included in the zip with the source and exe, perhaps it will help you decide if you even want it here or not: 1. Basics SimplePdnBatch is a utility for batches of simple transformations of image files, between files types and optionally resized, using image processing. No attempt is made to use the async capabilities in Paint.NET: in the occaisional-use scenario this was originally written for, the observed throughput of 5 minutes per gigabyte of input files was good-enough and the added complexity not justified. Quality options supported by paint dot net are all allowed to default. In the case of a resize, the Bicubic algorithm is used. Works with the paint dot net internal file types, those being bmp, gif, jpg, png, tga, tif, and pdn. Author - [deleted] Copyright © 2012 [deleted] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at * * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 2. Usage To run successfully you need to put the SimplePdnBatch.exe in the Paint.NET directory in Program Files (or, it may work if you put SimplePdnBatch somewhere else but make the Paint.NET directory your current directory). This is necessary so that code in Paint.NET dll's can find required resources. The command line is simple: SimplePdnBatch pathToScriptFile The script file is a simple text file with a series of lines of the form {option}={value} where the following are supported (and a valiant effort is made to ignore all else): OutDirectory=directoryPath Sets the output directory for subsequent files to the given directoryPath. If the directory does not exist it will be created. ScaleX=number ScaleY=number Sets the horizontal and vertical scale for subsequent files to the given numbers, e.g. 0.5 for 50%. OutType=extension Sets the output file type for subsequent files to the type matching the extension, i.e. bmp, gif, jpg, png, tga, tif, pdn and their synonyms. InFile=filePath Requests to process the indicated file with the current settings. Thus to reduce to 25% size (50% each way) set ScaleX and ScaleY to 0.5 BEFORE the line naming the file. If the settings result in the output path matching the input path exactly the operation will be rejected: the input file will not be overwritten. But if the output file already exists it will be replaced without notice. InDirectory=directoryPath Requests to process the all recognized image files in the indicated directory using the current settings. //[anything] A comment or commented-out line Example: convert all images in C:\Images\Master to 1/4 size png files in C:\Images\Web. OutDirectory=C:\Images\Web OutType=png ScaleX=0.5 ScaleY=0.5 InDirectory=C:\Images\Master