Solved

how to open resize and save jpegs

Posted on 2004-09-16
9
303 Views
Last Modified: 2013-11-19
HI, I need to open resize and then (preferably) save jpegs with a selectable level of compression

does anyone have any code or a control or something to do this?

0
Comment
Question by:esdfesdf
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
9 Comments
 
LVL 52

Accepted Solution

by:
Ryan Chong earned 400 total points
ID: 12081363
Try see:

VB Image Editor
http://www.freevbcode.com/ShowCode.Asp?ID=4280

Which included info on how to use IntelĀ® JPEG Library to save graphic to Jpg extension.

Also at:
http://www.vbaccelerator.com/codelib/gfx/vbjpeg.htm
0
 
LVL 52

Expert Comment

by:Ryan Chong
ID: 12081376
I also used an ocx called PicFormat32.ocx which can convert images to gif, bmp, jpg and vice versa easily.

More useful links regarding this can be found here:

http://www.martin2k.co.uk/vb6/tips/q16.php
http://www.visualbasiconline.net/download.php?categoria=ocx
0
 
LVL 3

Expert Comment

by:sgayatri
ID: 12082547
From vb running on windows 98 you can do:

Add Kodal image edit control from Project >> components
Create a blank.jpg file; (You can scan a blank page and name it blank.jpg; as it is required to do so before display)

ImgEdit1.Image = "c:\yourfile.jpg"
ImgEdit2.Image = "c:\blank.jpg"

ImgEdit1.Display
ImgEdit2.Display

''' select your values to resize the image
ImgEdit1.DrawSelectionRect 10, 10, 1000, 1000
''' copy the selected image from image1
ImgEdit1.ClipboardCopy '10, 10, 10, 10
'''paste it on the blank page of image2
ImgEdit2.ClipboardPaste
imgedit2.savepage x.tif", filetype, pagetype, compressiontype,compressioninfo, saveatzoom,pagenumber

''' on the form click on imgedit control and press f1 to get full help on it.
0
Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

 

Author Comment

by:esdfesdf
ID: 12088736
ryancs -
Your code works well for opening and saving with compression, but I don't know how to  resize the image. I tried this.. which doesnt work (as expected)

Dim cD As New cDIBSection
LoadJPG cD, Text1.Text

cD.Height = cD.Height * 0.5
cD.Width = cD.Width * 0.5

Dim SaveTo As String
SaveTo = App.Path & "\tessdf.jpg"
SaveJPG cD, SaveTo, tQual.Text

End Sub



sgayatri - I don't have the kodal image edit control so I couldn't use your code
0
 
LVL 52

Expert Comment

by:Ryan Chong
ID: 12090166
esdfesdf, can i know which example / link you refer to?

regards
0
 

Author Comment

by:esdfesdf
ID: 12090216
0
 
LVL 52

Expert Comment

by:Ryan Chong
ID: 12090581
Hi,

I would resize the picture into a temporary picturebox, instead of modify the existing code from vbaccelerator, so try like:

Private Sub Command1_Click()
    picTmp.AutoRedraw = True
    picTmp.Visible = False
   
    picTmp.Width = picTest.Width * 0.5
    picTmp.Height = picTest.Height * 0.5
   
    picTmp.PaintPicture picTest.Picture, 0, 0, picTmp.Width, picTmp.Height, 0, 0, picTest.Width, picTest.Height, vbSrcCopy
    picTmp.Picture = picTmp.Image
    picTmp.Refresh
    DoEvents
   
    Dim sI As String
    Dim c As New cDIBSection
    Dim i As Long
   
    Set c = New cDIBSection
    c.CreateFromPicture picTmp.Picture
   
    sI = App.Path & "\Tempvb.jpg"
    If VBGetSaveFileName(sI, , , "JPEG Files (*.JPG)|*.JPG|All Files (*.*)|*.*", 1, , , "JPG", Me.hwnd) Then
        If SaveJPG(c, sI) Then
            ' OK!
        Else
            MsgBox "Failed to save the picture to the file: '" & sI & "'", vbExclamation
        End If
    End If
   
End Sub

Hope this helps
0
 

Author Comment

by:esdfesdf
ID: 12091785
sorry, but how do I get the jpg into the picturebox using the intel jpeg lib?
0
 
LVL 52

Expert Comment

by:Ryan Chong
ID: 12091957
>>how do I get the jpg into the picturebox using the intel jpeg lib?
You can try use the loadpicture function, no need use intel jpeg lib, in order to load a picture to picturebox, like:

picTest.Picture = LoadPicture(fPath)
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't interesteā€¦
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
In this Micro Tutorial viewers will learn the basic shortcuts and functions in InDesign.
Learn how to use the remote presentation tool in Prezi to allow you to harness the power of this cloud based presentation platform. You can show your presentation with a remote audience using this free tool.
Suggested Courses

615 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question