Before I go and reinvent the wheel, I'm wondering if this or something similar already exists...?
I'm thinking a program that
I'm thinking of some fancy features like if the pictures are different sizes, it can resize them / rotate them / stretch them, depending on what you can choose, to whatever the largest common dimension is, or maybe it can detect a picture's orientation, and auto rotate so they are all landscape or portrait, or figure out how to lay them out so there is minimal blank space.
Maybe an option to not rotate but fill in the blank space with a given background color, or if there are not enough pics for an even # of rows/columns, fill in empty areas with some default color or pattern.
Some of the things I'm going to have to figure out how to do for this include
Simple use cases:
Has anyone seen or done anything like that?
I'm thinking a program that
- looks in a directory like "c:\Users\MyUser\Pictures"
(extra points if it can handle environment variables like "%USERPROFILE%\Pictures")
- finds all images (extra points if it lets you specify 1 or more wildcards to match like "*.jpg;*.png;*.gif")
- gets the size of all of them and figures out (based on layout chosen) how big the final image will be & initialize it
(I'm not sure what kind of limitations QB64PE has for image size, I am thinking this prog would limit the size only based on the computer memory & hard drive space)
- for each pic:
loads it into memory,
resize/scale/rotate (depending on options)
copies to a new giant image (depending on the layout you choose,
e.g., if we have 16 pictures, maybe 4 columns x 4 rows, or 8 columns x 2 rows)
- outputs a new image file in the selected format.
I'm thinking of some fancy features like if the pictures are different sizes, it can resize them / rotate them / stretch them, depending on what you can choose, to whatever the largest common dimension is, or maybe it can detect a picture's orientation, and auto rotate so they are all landscape or portrait, or figure out how to lay them out so there is minimal blank space.
Maybe an option to not rotate but fill in the blank space with a given background color, or if there are not enough pics for an even # of rows/columns, fill in empty areas with some default color or pattern.
Some of the things I'm going to have to figure out how to do for this include
- list files from a folder
- match based on *? wildcards
- load an image file into a _NewImage
- detect image height/width
- rotate image
- scale/resize image
- stretch/skew image
- display an image bigger than the screen shrunk down to fit the screen (to preview on screen)
- save image from memory to a file
Simple use cases:
- make a pic collage for your PC's desktop
- take a bunch of pictures and turn them into a poster you can have printed at somewhere like CVS (the web site says 24"x36" is $15.99 ?!)
- make a background for a game
Has anyone seen or done anything like that?