keniks143 Ответов: 2

Изменение размера изображения в visual basic 6


Я создал программу, которая больше ориентирована на загрузку изображения. Я уже закончил свою программу, но у меня все еще есть проблема в запуске моей программы. Моя программа работает слишком медленно из-за больших изображений.
Я пробую этот код, чтобы сделать изображения светлее, но он не работает.
Public Sub LoadImage(ByVal imgName As String)
    With Entry1
        .imgView.ScrollBars = SB_Both
        .imgView.ViewUpdate = True
        .imgView.ToolSet TOOL_Hand, IXMOUSEBUTTON_Left, 0
        .imgView.PageNbr = imgPage
        .imgView.fileName = imgPath & imgName
        .imgView.IResX = 300
        .imgView.IResY = 300
        '.imgView.AutoSize = ISIZE_ResizeImage
        .imgView.SaveFile
        .imgView.ZoomToFit ZOOMFIT_BEST
    End With
End Sub



Есть ли способ сделать изображения светлее? или изменить размер изображения?
Любая помощь будет принята.

2 Ответов

Рейтинг:
1

Member 13885445

Лучшее решение для вас

Sub PHOTO_RESIZING()
Dim obj As Object
Dim rngInsert As Range
Dim dblZoom As Double
If TypeName(Selection) = "Range" Then Exit Sub
Set obj = Selection
Set rngInsert = obj.TopLeftCell ' Selection
Set rngInsert = rngInsert.MergeArea
Application.ScreenUpdating = False
    rngInsert.Select
        dblZoom = ActiveWindow.Zoom
        ActiveWindow.Zoom = 100 'View Resizing
    With obj
        .ShapeRange.LockAspectRatio = msoFalse
        .Top = rngInsert.Top
        .Left = rngInsert.Left
        .Height = rngInsert.Height
        .Width = rngInsert.Width
    End With
ActiveWindow.Zoom = dblZoom
Application.ScreenUpdating = True
End Sub


CHill60

Придерживайтесь ответов на сообщения, где ОП все еще нуждается в помощи, а не на вопросы 5-летней давности, которые уже имеют решение. Это "решение" даже не будет компилироваться в VB6.

Рейтинг:
0

Maciej Los

Если вы используете Управление изображением[^], вы можете использовать просто трюк из: http://visualbasic.freetutes.com/learn-vb6/picturebox-image-controls.html[^]

' Load a bitmap.
Image1.Stretch = False
Image1.Picture = LoadPicture("c:\windows\setup.bmp")
' Reduce it by a factor of two.
Image1.Stretch = True
Image1.Move 0, 0, Image1.Width / 2, Image1.Width / 2


Еще один способ повысить производительность-это использовать AutoRedraw собственность.
Image1.AutoRedraw = True 'False


Для управления PictureBox обратитесь к этому разделу: http://msdn.microsoft.com/en-us/library/zzt5x46b%28v=vs.80%29.aspx[^]
Picture1.AutoSize = True 'False


Вы можете посмотреть здесь:
http://stackoverflow.com/questions/12516376/resizing-a-picture-to-a-fixed-size-in-vb6[^]
http://www.chestysoft.com/ximage/vb/image-resize-vb.asp[^]