Important alert: (current site time 7/16/2013 2:34:22 AM EDT)
 

winzip icon

mini-Image Processor (Update 13 Aug)

Email
Submitted on: 8/16/2006 12:16:18 PM
By: Robert Rayment 
Level: Intermediate
User Rating: By 24 Users
Compatibility: VB 6.0
Views: 23287
author picture
(About the author)
 
     mini-Image Processor by Robert Rayment. Demo of one way to load a standard picture into an array using GetDIBits, where the picture box is just a viewport, with zooming (using StretchDIBits) and scrolling. Pictures can be saved as 24bpp BMP or JPEG, either from the viewport, the whole image from the array or a selection. To make it a bit more interesting I've added a few effects to play with. If the manifest file causes problems then just rename or delete it. Only tested on WinXP. Zip 29 KB. __________________________________________________ Update 3 Aug: Pictures with width or height < 15 pixels were disallowed, now changed to <= 2 pixels. Consequently a correction to FileOps, the Flute filter and scrZoom. __________________________________________________ Update 4 Aug: Added saving to JPEG using the Ron van Tilburg (John Korejwa) class at CodeId=50351. Zip 49 KB. __________________________________________________ Update 5 Aug: Minor correction to vertical scrollbar position when zooming in with the horizontal cross-wire at the bottom of the picture. Also turn Select OFF when a scrollbar switches off. __________________________________________________ Update 10 Aug: LoadPicture Function simplified a bit. __________________________________________________ Update 11 Aug: Moved vertical scroll bar to normal position on the right of the viewport. Also New pictures now open at top-left instead of at bottom-left. Correction to edging for SmoothSharp effect. Option to change filter effects to continuous or stepped. Plus some minor tidying up. Zip 51 KB. __________________________________________________ Update 12 Aug: Buttons above the filter scrollbars will now act on the scrollbar value without having to press the scrollbars, in continuous or stepped mode. __________________________________________________ Update 13 Aug: Added routine to cJpeg.cls to save jpeg from data array, with Ron van Tilburg's help. Plus a few minor adjustments. Forgot to put manifest file in.

 

Windows API/Global Declarations:

Can't Copy and Paste this?
Click here for a copy-and-paste friendly version of this code!
'**************************************
'Windows API/Global Declarations for :mini-Image Processor (Update 13Aug)
'**************************************
GetDIBits, StretchDIBits plus a few
winzip iconDownload code

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. Afterdownloading it, you will need a program like Winzip to decompress it.Virus note:All files are scanned once-a-day by Planet Source Code for viruses, but new viruses come out every day, so no prevention program can catch 100% of them. For your own safety, please:
  1. Re-scan downloaded files using your personal virus checker before using it.
  2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.
  3. Scan the source code with Minnow's Project Scanner

If you don't have a virus scanner, you can get one at many places on the net including:McAfee.com

 
Terms of Agreement:   
By using this code, you agree to the following terms...   
  1. You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
  2. You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   
  3. You may link to this code from another website, but ONLY if it is not wrapped in a frame. 
  4. You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.


Other 68 submission(s) by this author

 


Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this code (in the Intermediate category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments
8/2/2006 7:51:20 AMRichard Mewett

Small but perfectly formed! Some really nice image functions. *****
(If this comment was disrespectful, please report it.)

 
8/2/2006 7:17:07 PMLaVolpe

I really enjoyed playing with your APaint submission too (for those of you who haven't seen it, you're missing out). Will return again after playing with this for a little while. Cheers.
(If this comment was disrespectful, please report it.)

 
8/3/2006 1:03:07 AMHeriberto Mantilla Santamaria

Run perfect for me too.

Excellent piece of code 5*.
(If this comment was disrespectful, please report it.)

 
8/3/2006 2:26:27 AMT Jackson

This is brilliant. You're a brilliant programmer Robert. No doubt about it.
***** All works fine in VB5 too.
(If this comment was disrespectful, please report it.)

 
8/3/2006 3:10:32 AMdafhi

great!! and loving the light blue form .. sweet!!
(If this comment was disrespectful, please report it.)

 
8/3/2006 3:28:17 AMpietro ing. cecchi

good code...:)
image lovers may also look at:
http://cecchi.infinito.it/slideviewer/

(If this comment was disrespectful, please report it.)

 
8/3/2006 6:42:15 AMPaul Turcksin

Love tt Robert. Thanks.
(If this comment was disrespectful, please report it.)

 
8/3/2006 7:18:11 AMPhantom Man

Nice,very nice indeed.

Gary
(If this comment was disrespectful, please report it.)

 
8/3/2006 9:52:41 AMEric O''Sullivan

to prevent manifest file problems, use the LoadLibrary and FreeLibrary API calls. I'd also suggest having a look at some of the code on the site to convert bitmaps to JPEGs. I used it for my security camera code
(If this comment was disrespectful, please report it.)

 
8/3/2006 11:24:43 AMRobert Rayment

Eric: The LoadLibrary code is there already. Spodi says some PCs still have problem even with this. I have got saving to JPEG code - I just decided not to add to this.
(If this comment was disrespectful, please report it.)

 
8/3/2006 2:17:26 PMTom Pydeski

Excellent.
Thanks for sharing.

(If this comment was disrespectful, please report it.)

 
8/5/2006 12:47:31 AMRobert Rayment

Note: For applying multiple effects just press the Fix button between effects. (Answer to a question).
(If this comment was disrespectful, please report it.)

 
8/5/2006 7:48:33 AMMajed A.Khaznadar

Good Job Bro..
(If this comment was disrespectful, please report it.)

 
8/5/2006 10:15:58 AMLaVolpe

Robert, excellent. If I had one tiny suggestion: make the scrollbars LargeChange about 10% of max value and/or have routine bug out if scrollbar changes while image is being processed (i.e., reset & restart with each scrollbar change). Maybe when you get some time, might consider revisitng/combining with your APaint8 submission -- that was truly an excellent project too. When it comes to graphics, your projects are 1st on my list to learn from.
(If this comment was disrespectful, please report it.)

 
8/5/2006 11:38:11 AMRobert Rayment

Keith: Thanks very much for comments. I'll consider and communicate offline. Carles did have a large IP program on PSC but I think he has removed it - huge amount of work! :)

(If this comment was disrespectful, please report it.)

 
8/8/2006 8:16:43 AMD. Rijmenants

Great program, and lots of interesting routines. Thanks for sharing!
(If this comment was disrespectful, please report it.)

 
8/21/2006 8:06:59 PMChris Seelbach

Sqr(25) ;)
(If this comment was disrespectful, please report it.)

 
2/19/2007 5:04:31 AMJoaquin Marcher

i told you, you are the best in this things xD
(If this comment was disrespectful, please report it.)

 
11/23/2010 5:34:31 AMrazor

can i get the documentation for this?
(If this comment was disrespectful, please report it.)

 
11/23/2010 5:56:42 AMrazor

can i get the documention 4 dis project?
(If this comment was disrespectful, please report it.)

 
11/23/2010 9:36:47 AMRobert Rayment

razor: no documentation apart from the source code, which you have.
(If this comment was disrespectful, please report it.)

 
1/25/2012 6:14:36 AMcvsingh

Great Code??
(If this comment was disrespectful, please report it.)

 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular code, please click here instead.)
 

To post feedback, first please login.