The purpose of this venture is to create a fully user-friendly and somewhat powerful image manipulator in VisualBasic 6. It started off by me needing a filtering application to clean up a picture, and since then it has grown into a full-blown app with over a dozen different effects to alter your picture.
We will constantly be looking for new ideas as to what we can put in, and, as with any project, we will need people to hash the program to pieces as it grows to make sure we, the developers, haven't overlooked anything.
Positions are still available for those interested, just PM me if you're interested in taking part in this project and tell me where you think you could be most beneficial.
~time
The lineup: timeshifter - co-manager, assisting designer chemicalNova -General developer, co-manager eyeRmonkey -General developer wossname - End converstion into .NET dglienna - Technical reference
Milestones/Objectives:
Load the picture done
Save the edited picture done
Image filter done
Lightening/Darkening done
Solarize/Invert done
Edge Detection done
Smooth/Sharpen done
Emboss done
Gray Scales done
Ripples done
Automatic *.* to *.bmp conversions
Color balance
Gamma contrast
Hue saturation
Undo/Redo
Any and all ideas are more than welcome, as well as suggestions for optimizing code.
Thanks, and please enjoy the show!
chem, I'm having a nasty problem when trying to load the picture... I can't seem to figure out what it is. It's your sequence, so here's the fully merged program for ya.
Figured it out. It was trying to ReDim the loading array before it had the correct variables... Once that was figured out, everything else works as it should. chem says he's got some ideas for speeding the process up a bit, so here's the updated and fully functional version.
I've written a very l33t personal app that does these things
it has convolution filters and many other things... give me a shout too
rate my posts if they help ya!
Extract thumbnail without reading the whole image file: (C# - VB)
Apply texture to bitmaps: (C# - VB)
Extended console library: (VB)
Save JPEG with a certain quality (image compression): (C# - VB ) VB.NET to C# conversion tips!!
do color balance, gamma contrast hue saturation etc
rate my posts if they help ya!
Extract thumbnail without reading the whole image file: (C# - VB)
Apply texture to bitmaps: (C# - VB)
Extended console library: (VB)
Save JPEG with a certain quality (image compression): (C# - VB ) VB.NET to C# conversion tips!!
rate my posts if they help ya!
Extract thumbnail without reading the whole image file: (C# - VB)
Apply texture to bitmaps: (C# - VB)
Extended console library: (VB)
Save JPEG with a certain quality (image compression): (C# - VB ) VB.NET to C# conversion tips!!
For undo redo, we could create a user control with a picturebox in it, and have an array of our own type which holds Memory DC's. When the user hits undo, an old memory DC (maybe a history of 5) is blitted onto the screen. Or we could do like proper photoshop and have a history bar thingy.
rate my posts if they help ya!
Extract thumbnail without reading the whole image file: (C# - VB)
Apply texture to bitmaps: (C# - VB)
Extended console library: (VB)
Save JPEG with a certain quality (image compression): (C# - VB ) VB.NET to C# conversion tips!!
This is the picture I generally use, since it's got so much variety that so far, everything has worked with it...
chem, the Gray Scales seem to be a little three-track minded... (0,0.0),(128,128,128), and (255,255,255)... Maybe we should throw a little variety in there?
oh neat
I'm not sure how you're doing you edge detection... but bottom line you end up with a convolution matrix. In case it'd be of use, here are the ones I used
PHP Code:
sobel
// 1 2 1
// 0 0 0
// -1 -2 -1
Prewitt:
// 1 1 1
// 0 0 0
// -1 -1 -1
Kirsch
// 5 5 5
// -3 0 -3
// -3 -3 -3
Roberts
-1 0
0 1
FreiChen
// -1 -r2 -1
// 0 0 0
// 1 r2 1
// r2 is square root if 2
my own made up matrix
// 1 1 1
// -1 0 1
// -1 -1 -1
looks like a "defocus" effect. My own again ( I Think haha):D must credit if you use this:D
// 1 1 1
// 1 -7 1
// 1 1 1
made up again
Neat "coal" like effect
// -1 8 0 -8 1
// 2 -1 -1 -1 -2
// -1 0 6 -1 1
// 2 0 0 -1 -2
// -1 -8 0 8 1
you could test how they look like if you use photoshop's convolution matrix (I think they call it "custom effect" in tehre? ugh cant recall)
rate my posts if they help ya!
Extract thumbnail without reading the whole image file: (C# - VB)
Apply texture to bitmaps: (C# - VB)
Extended console library: (VB)
Save JPEG with a certain quality (image compression): (C# - VB ) VB.NET to C# conversion tips!!
Hey Polite. I used Sobel and LapLace for the edge detection. All bar the LapLace used a 3x3 grid for the effect. I gave laplace a 5x5 grid for a better result.
I've instead opted for the DIB section approach. I'll get timeshifter to whack up the code, and I'll change all of the routines the the DIB code..
Lol... Here's what I have so far... If you can figure out what's wrong with the Flat Rock option, please post it... it's driving me insane, since I can't figure out what's going on with it...
We've almost got a copy ready that'll function the way it will in the end... I'll take you up on that offer when we get it fully running... but it's 3 in the morning for me and i need some sleep.. just ask chem about that one...
Ok. This version is alot faster. It uses DIB sections to perform the effects. The longest effect is smoothing, which takes 2 seconds on a 711x594 image. Sharpening is second at 1 second on a 711x594 picture. The rest take around half a second (timed using clsTimer from PSCode).
I've begun making a brush tool to paint with, however I can't seem to figure out why the Y coordinates are buggered. If anyone can take a look at the DrawLightCircle function and tell me why that happens? You can see the problem by clicking and moving the mouse around a loaded picture..
I'm putting the Help>About logo into a picture box instead of on the form.. hopefully that'll hold it better when the file gets transfered.
I'll have a look at the brush tool if I ever get done duping all of the other subs... shouldn't take forever, but we do have a lot of stuff to work on...
it was the time when I was switching from vb to c# so it's half in vb half in C#
all the user interface is in vb, and most the graphics functions are in C#
rate my posts if they help ya!
Extract thumbnail without reading the whole image file: (C# - VB)
Apply texture to bitmaps: (C# - VB)
Extended console library: (VB)
Save JPEG with a certain quality (image compression): (C# - VB ) VB.NET to C# conversion tips!!
Ah. Ta for that John. I actually solved it by doing this:
VB Code:
r = ImgData(1, x + dx, [b](PicInfo.bmHeight - y)[/b] + dY)
g = ImgData(2, x + dx, [b](PicInfo.bmHeight - y)[/b] + dY)
b = ImgData(3, x + dx, [b](PicInfo.bmHeight - y)[/b] + dY)
I must have gotten the whole theory of the DIBs wrong. The way you posted, does that mean all the effects are being read bottom-top? Using your code, would they be top-bottom?
I was actually gonna start workin on a toolbar GUI once my brain recovered from the frying of my last venture into that...
By the way, we still need to chat about your subs... i need to know how to adjust the code to change either the base image or the current image, depending on the user.
Sorry about the delay... chem and I have both been working on school stuff, but now that the first big exam is over with for me, I'll start whipping up a new GUI that should agree with what we want to do in the end.
Yes, indeed. My Web Design Assignment was a real annoyance, as I got it before everyone else, and had to hand it in with 10 times the stuff they have to. The price to pay for learning this stuff before school
I've played around with my core drawing code, and I've been able to create solid and soft brushes, effect brushes (solarize and emboss so far), and a few more effect filters. I'm also certain I can create a Clone Stamp tool faily easily, and a function like Photoshops "Snapshot" ability without too much trouble.
Hope to have a beta up within the next week or two.
I'd need icons to use for the toolbar.. should I just yoink them from Fireworks or Freehand (since I don't have Photoshop) or do you want to make a custom set?