I am writing a slide show. The slide show itself is not bad.
My problem:
I can put the pictures in the resource area. This would require recompiling and sending the viewer each time I want to send pictures. I would like to send the pictures seperatlly and have the viewer read them. I can do this by putting the pictures in a folder then reading the folder.
I was thinking about an image library but I can't find anything on the internet about writting one. How does PowerPoint save their images?
Any help would be appreciated.
waynespangler 63 Posting Pro in Training
BeejCyr 0 Newbie Poster
What control(s) are you using? What do you use to act as the source of your images? Do you preload an imagelist control?
waynespangler 63 Posting Pro in Training
I am using a picturebox for the image. My images are jpeg. I had thought about the imagelist but the images are pretty big. Isn't the image list limited to about 128x128 pixels.
Thanks for your quick reply.
BeejCyr 0 Newbie Poster
Here is one way to do it.
Dim i As System.Drawing.Image
Dim Filename As String
Dim FilePath As String = <path to images>
Filename = Dir(FilePath + "*.jpg")
Do While Not Filename Is Nothing
i = Image.FromFile(FilePath + Filename)
' Perfrom any scaling or rotating here
' Show it on the form
PictureBox1.Image = i
' Give windows a second to update the screen
Application.DoEvents()
' Wait for a second until moving on to next picture
System.Threading.Thread.Sleep(1000)
' Get the next filename
Filename = Dir()
Loop
waynespangler 63 Posting Pro in Training
Thanks for your input, I appreciate it but that is the way I was doing it.
After more thought i came up with an image that holds all the images (thanks to person that gave me the idea).
For anyone interested, here is what I did.
' to hold the pointers where the image is located.
Structure strImageIndex
Dim x As Integer
Dim y As Integer
End Structure
Dim ImageIndex As New strImageIndex ' the pointer
Dim MaxCol As Integer = 4 ' how many pictures across
Dim MaxRow As Integer = 3 ' how many pictures down
' this is the bitmap the pictures will be kept in
Dim bmp As New Bitmap(MaxCol * 400, MaxRow * 300, Imaging.PixelFormat.Format32bppArgb)
'===========================================================================
' load the image and change size to 400 x 300
' (you might want to change this...all my pictures are 400 x 300)
'=========================================================================
Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click
With OpenFileDialog1
If .ShowDialog = Windows.Forms.DialogResult.OK Then
Dim bmp1 As New Bitmap(.FileName)
' this is the source rectangle or image size
Dim srcRect As New Rectangle(0, 0, bmp1.Width, bmp1.Height)
' this is the size the image will be converted to
Dim destRect As New Rectangle(0, 0, 400, 300)
' set up the blank bitmap and set the graphics for it.
Dim bmp2 As New Bitmap(400, 300, Imaging.PixelFormat.Format32bppArgb)
Dim g As Graphics = Graphics.FromImage(bmp2)
' now draw the destination rect from the source rectangle using pixels
g.DrawImage(bmp1, destRect, srcRect, GraphicsUnit.Pixel)
' put the bitmap in the picturebox image. NOTE: the clone is used because once it is disposed of
' then the picturebox image is erased.
PictureBox1.Image = bmp2.Clone
' get rid of the bitmaps
bmp1.Dispose()
bmp2.Dispose()
End If
End With
End Sub
'================================================================
' draw the image into the bitmap and change the image index to point to the next picture location
'================================================================
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
Using g As Graphics = Graphics.FromImage(bmp)
g.DrawImage(PictureBox1.Image, New Point(ImageIndex.x * 400, ImageIndex.y * 300))
ImageIndex.x += 1
If ImageIndex.x > MaxCol Then
ImageIndex.x = 0
ImageIndex.y += 1
End If
End Using
End Sub
'===========================================================================
' Save the completed image
'===========================================================================
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
With SaveFileDialog1
If .ShowDialog = Windows.Forms.DialogResult.OK Then
bmp.Save(.FileName, Imaging.ImageFormat.Bmp)
End If
End With
End Sub
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.