Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Visual Basic 6 Black Book
(Publisher: The Coriolis Group)
Author(s): Steven Holzner
ISBN: 1576102831
Publication Date: 08/01/98

Bookmark It

Search this book:
 
Previous Table of Contents Next


Then we use the picture clip control’s GraphicCell array to get the new image, placing that image in the picture control’s Picture property:

Private Sub Command2_Click()
    intImageIndex = intImageIndex + 1
    If intImageIndex >= 3 Then intImageIndex = 0
    Picture1.Picture = PictureClip1.GraphicCell(intImageIndex)
End Sub

That’s all we need—now the user can click the new button, Get Next Cell, to cycle through the images in the picture clip control, as shown in Figure 19.7. Our picture clip control example is a success.


Figure 19.7  Using rows and columns in a picture clip control to retrieve images.

The code for this example is located in the picclip folder on this book’s accompanying CD-ROM.

Flipping Images

You can gain a lot of control over how images are displayed by the PaintPicture method, which lets you flip, translate, or resize images:

object.PaintPicture picture, x1, y1, [width1, height1, [x2, y2, [width2, _
    height2, [opcode]]]]

You can use this method to stretch or flip images in forms, picture boxes, and the Printer object. Here’s what the arguments passed to PaintPicture mean:

  picture—The source of the graphic to be drawn onto the object; should be a Picture property.
  x1, y1—Single-precision values indicating the destination coordinates (x-axis and y-axis) on the object for the picture to be drawn. The ScaleMode property of the object determines the unit of measure used.
  width1—Single-precision value indicating the destination width of the picture. The ScaleMode property of the object determines the unit of measure used. If the destination width is larger or smaller than the source width (width2), the picture is stretched or compressed to fit. If omitted, the source width is used.
  height1—Single-precision value indicating the destination height of the picture. The ScaleMode property of the object determines the unit of measure used. If the destination height is larger or smaller than the source height (height2), the picture is stretched or compressed to fit. If omitted, the source height is used.
  x2, y2—Single-precision values indicating the coordinates (x-axis and y-axis) of a clipping region within the picture. The ScaleMode property of the object determines the unit of measure used. If omitted, 0 is assumed.
  width2—Single-precision value indicating the source width of a clipping region within the picture. The ScaleMode property of the object determines the unit of measure used. If omitted, the entire source width is used.
  height2—Single-precision value indicating the source height of a clipping region within the picture. The ScaleMode property of the object determines the unit of measure used. If omitted, the entire source height is used.
  opcodeLong value or code that is used only with bitmaps. It defines a bit-wise operation (such as vbMergeCopy) that is performed on the picture as it is drawn on the object.

You can flip a bitmap horizontally or vertically by using negative values for the destination height (height1) and/or the destination width (width1). Let’s see an example. Here’s how we flip the image in the current form horizontally and display it in Picture2:

Private Sub Form_Load()
    PaintPicture Picture, Picture1.ScaleWidth, 0, _
        –1 * ScaleWidth, ScaleHeight
End Sub

If we load the image we used in Figure 19.2 into a form and use the preceding code, we’ll get the results you see in Figure 19.8. Now we’re flipping images.


Figure 19.8  Flipping an image in a form.

The code for this example appears in the imageflip folder on this book’s accompanying CD-ROM.

Stretching Images

The Aesthetic Design Department is calling. The image of the company founder you’ve put into your program looks fine, but why is it so small? Can’t you enlarge it?

You can use the PaintPicture method to stretch images in forms, picture boxes, and the Printer object. Here’s how that method works:

object.PaintPicture picture, x1, y1, [width1, height1, [x2, y2, [width2, _
    height2, [opcode]]]]

Here’s what the arguments passed to PaintPicture mean:

  picture—The source of the graphic to be drawn onto the object; should be a Picture property.
  x1, y1—Single-precision values indicating the destination coordinates (x-axis and y-axis) on the object for the picture to be drawn. The ScaleMode property of the object determines the unit of measure used.
  width1—Single-precision value indicating the destination width of the picture. The ScaleMode property of the object determines the unit of measure used. If the destination width is larger or smaller than the source width (width2), the picture is stretched or compressed to fit. If omitted, the source width is used.
  height1—Single-precision value indicating the destination height of the picture. The ScaleMode property of the object determines the unit of measure used. If the destination height is larger or smaller than the source height (height2), the picture is stretched or compressed to fit. If omitted, the source height is used.
  x2, y2—Single-precision values indicating the coordinates (x-axis and y-axis) of a clipping region within the picture. The ScaleMode property of the object determines the unit of measure used. If omitted, 0 is assumed.
  width2—Single-precision value indicating the source width of a clipping region within the picture. The ScaleMode property of the object determines the unit of measure used. If omitted, the entire source width is used.
  height2—Single-precision value indicating the source height of a clipping region within the picture. The ScaleMode property of the object determines the unit of measure used. If omitted, the entire source height is used.
  opcodeLong value or code that is used only with bitmaps. It defines a bit-wise operation (such as vbMergeCopy) that is performed on the picture as it is drawn on the object.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.