實現(xiàn)代碼如下:
創(chuàng)新互聯(lián)建站服務(wù)項目包括漯河網(wǎng)站建設(shè)、漯河網(wǎng)站制作、漯河網(wǎng)頁制作以及漯河網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,漯河網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到漯河省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Dim img As Image = Image.FromFile("D:\Image\tstImage.jpg") 'tstImage是原先的圖片
Dim grfx As Graphics = Me.CreateGraphics
grfx.DrawImage(img, 0, 0, img.Width * 3, img.Height * 3) '在Form里顯示
Dim imgnew As New System.Drawing.Bitmap(img, img.Height * 3, img.Width * 3) '新建一個放大的圖片
imgnew.Save("D:\Image\tstNewImage.jpg", System.Drawing.Imaging.ImageFormat.Jpeg) '保存放大后圖片
你可以建一個Form,然后在Form里拖進一個Button,把上面的代碼放在Button_Click事件里面,執(zhí)行就行了。
對上面代碼的解釋:
1.要獲取Graphics對象只能從某一事件的參數(shù)中獲取或者使用窗體和控件對象的CreateGraphics方法來獲取-----上面代碼使用Me.CreateGraphics來引用這個對象。
2.加載一個圖片用Image類的FromFile或者FromStream方法
3.用DrawImage來顯示一個圖片,該方法有30多個重載方法,可以查MSDN了解細節(jié)。
4.保存時的一個問題:我們必須先建一個對象,用于存縮放圖像。
Pegasus的ImagXpress 8.0控件,支持各種格式文件的加載。控件封裝了右鍵局部區(qū)域放大的功能,要實現(xiàn)圖片的縮放,把AutoResize屬性設(shè)置為PegasusImaging.WinForms.ImagXpress8.AutoResizeType.CropImage,修改 ZoomFactor的值就可以了。
1.可以利用picture.mousemove()事件實現(xiàn)放大效果.即當(dāng)鼠標經(jīng)過時,圖像的長寬分別加上一個固定值.實現(xiàn)"放大"效果.不過要注意就是,要先設(shè)置一個判斷標志----放大了一次后就不要再放大了.不然,當(dāng)鼠標一直在上面時,不斷觸發(fā)這個事件,會不斷變大,與設(shè)想效果不同.
但,picutre控件本身沒有鼠標離開事件,無法實現(xiàn)縮小.
2.幸好,窗體 form本身也有mousemove事件.并且,當(dāng)鼠標經(jīng)過窗體中控件表面時,
不會觸發(fā)窗體本身的mousemove事件.那么.利用這點.以下程序演示實現(xiàn)LZ要求.
VB6中新建工程,一個窗體,窗體上放置一個picture控件.圖像什么隨便設(shè)置.大小也是自己設(shè)置
全部代碼如下:
Dim ch As Boolean '圖像改變大小標志
Private Sub Form_Load()
ch = False '程序運行時,鼠標肯定還沒有經(jīng)過圖像,所以,假
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If ch Then '已經(jīng)放大了,則縮小,當(dāng)鼠標離開圖像時.
Picture1.Width = Picture1.Width - 200 '這個值200和以下的300自己改吧
Picture1.Height = Picture1.Height - 300
ch = False
End If
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Not ch Then '鼠標經(jīng)過,且,還沒有放大過.放大一次.
Picture1.Width = Picture1.Width + 200 '這個值200和以下的300自己改吧
Picture1.Height = Picture1.Height + 300
ch = True
End If
End Sub
Sub 圖片縮放()
Dim SngPer As Single = 1 '放大或縮小的比例 放大2倍時SngPer=2,縮小3倍時 SngPer=1/3
Dim PicOld As Image = Image.FromFile("原圖片路徑")
Dim PicNew As New System.Drawing.Bitmap(PicOld, PicOld.Width * SngPer, PicOld.Height * SngPer)
PicNew.Save("新圖片路徑", Drawing.Imaging.ImageFormat.Jpeg)
End Sub
PictureBox.SizeMode
屬性
默認情況下,在
Normal
模式中,Image
置于
PictureBox
的左上角,凡是因過大而不適合
PictureBox
的任何圖像部分都將被剪裁掉。
使用
StretchImage
值會使圖像拉伸或收縮,以便適合
PictureBox。
使用
Zoom
的值可以使圖像被拉伸或收縮以適應(yīng)
PictureBox;但是仍然保持原始縱橫比。
使用
AutoSize
值會使控件調(diào)整大小,以便總是適合圖像的大小。
使用
CenterImage
值會使圖像居于工作區(qū)的中心。