This can be done thru the web, where the new resized image will appear in a web browser. My question is... is this a school project where you have to have the code in your possession? Or do you just want to see it done?
i make maps for counter-strike... and i wanted to make my own wad file. the images in the wad i saved all as bmp's. however, in order for them to work the sizes have to be multiples of 16. why? who knows, ask valve (they made half-life). prolly helps with aligning or is more efficient, i dunno.
The file sizes are all mixed up from various sources (i didnt actually draw them myself... i would have done the correct size from there...hehe).
I've looked at several batch resizers... however non work exactly how i want... with both hieght and width a multiple of 16.
If worst comes to worse.. ill resize them all with a program out there to be all the same size.
Ideally... u make the program check the size and resize to the NEAREST multiple of 16 (for example, using "mod" in vb to get the remainder). this way, the image is least distorted.
[This message has been edited by Ghost-Agent (edited 09-13-2001).]
ohkaaay. bmps are such a simple file format that it wont take you too long to write a vb app that works with the raw bytes. eg in a 24-bit bmp bytes 0xC-0xF are the width, bytes 0x10-0x13 are the height (little-endian) & the pixels are 4-byte blue-green-red-00 (RGBQUAD) listed line-by-line starting at 0x30.
So your app just needs to load in a RGBQUAD 2-d array, manipulate it however u want, & write back to disk. anti-aliasing could be trickier. Anyway, bitmaps are described at http://msdn.microsoft.com/library/en...tmaps_5jhv.asp
oops, tell a lie: in a 24-bit bmp the pixels are 3-byte blocks BGR but all sit together until the end of each line, where you have enough 00s to bring the length of the line up to a multiple of 4. look at a bmp in your hex editor & see what i mean.
[This message has been edited by strangerstill (edited 09-13-2001).]
I would create a command line java app that takes two parameters (so you can use it over again). First, directory where bmps exist, second, directory where to place resized files.
Doing the modulus and determining what the new size will be is trivial:
int width = image.getWidth();
int newWidth = width + (16 - mod(width, 16));
Or something like that, barring syntax and **** like that.
yeah, yeah, use a web browser. That will be about as much fun as opening each image in paint and manually modifying size.
Back to your reqs. You say open image, determine size, and adjust to mult of 16. Ok, what is the range of sizes of the existing bmps? Are some 12X16 and others 1234X987? Can we just save all files as 64X64 (or whatever)?
How many files?
Wish you had known the 'multiples of 16' when you saved 'em. They need to be that way because of the way the bmp is drawn on a given surface through video processing, or something like that.
Have you tried some sort of batch conversion with an image editing app (Photoshop, PSP6, etc) so you can select and resize? I have PSP4 (ancient), and it will convert to a bunch of formats, but no size conversions.
I would figure other people who make wads run into this problem, check those sites. You can try: http://download.cnet.com
Search on "bmp resize". Some look promising.
Other than that, should be pretty easy to write a little java app to accomplish this task.
The web app idea would be perfect for someone who's looking to accomplish the resizing without having to have anything installed locally. Just plug it in and it'll spit out the result. That's what web apps can be good for. This particular suggestion would not have been made if the true intent of the challenge had been put forth initially.
qball, I wish I was allowed to tell you where you can stick your underhanded comments about other people's ideas. It doesn't, and never has, helped anybody. You are not better than anybody else here. Stop acting like it.
[me]
To accomplish this task, I would write my own program, but I'm stupid. The resize each image to nearest mult (16), makes this non-trivial. I can do this (in a scalable and extensible manner) rather easily, because I am stupid.
[/me]
Now, I don't need to resize bmps.
But, if I did, on a recurring nature, I would write a program and use it over and over, as I have before.
How long and how well are youse gonna be making Counter-Strike maps?
u can execute bas files.... i thought that was code....
anyway, im gonna make cs maps for how even long i play cs, which will be awhile. and i make them pretty well to, i like to have realism, structure, and function in my levels...
Hey, .bas is code. I had to rename it .bin because the new board style only lets you attach .gif, .jpg & .bin - it was way too big to include in my post.
Anyway, far as I'm concerned, that was trivial - I already had the code to load & save .bmps, and transforms arent exactly difficult to write - well, unless you want them efficient and if I did I wouldnt be using vb..
Bookmarks