473,394 Members | 1,841 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

Bind Image Data to PicBox

Hi,
I'm just getting started w/ VB.NET. I've been doing database development in
MS Access, both as Access databases or as a front end for SQL Server. I need
to create a VB.NET app to do some specific functions with SQL Server data.
The main problem I'm having is trying to bind data from a SQL Server image
data type field to a PictureBox control. For example, the image data field
in my table will hold a JPG file of a scanned document (file size probably no
greater than 300KB). I just want to be able to display the JPG in a
PictureBox control after a user enters some kind of parameter to return a
specific record. I just can't seem to get it right. I left a message in a
SQL Server forum and was told to try here.
Any help would be greatly appreciated!!!
--
PaulJS
Nov 21 '05 #1
3 3892
Hi,

Images are stored in a database as an array of byte. To convert an
array of byte to a bitmap you read the byte array in to a memory stream and
create a bitmap from it. I created an Video Capture Box which adds a
ByteImage property to a picture box which you can bind to. You can download
it from gotdotnet
http://www.gotdotnet.com/Community/U...3-c664ae2f91f8

VideoCapture1.DataBindings.Add("ByteImage", dt, "Picture")

Ken
---------------
"PaulJS" <Pa****@discussions.microsoft.com> wrote in message
news:A7**********************************@microsof t.com...
Hi,
I'm just getting started w/ VB.NET. I've been doing database development in
MS Access, both as Access databases or as a front end for SQL Server. I
need
to create a VB.NET app to do some specific functions with SQL Server data.
The main problem I'm having is trying to bind data from a SQL Server image
data type field to a PictureBox control. For example, the image data field
in my table will hold a JPG file of a scanned document (file size probably
no
greater than 300KB). I just want to be able to display the JPG in a
PictureBox control after a user enters some kind of parameter to return a
specific record. I just can't seem to get it right. I left a message in a
SQL Server forum and was told to try here.
Any help would be greatly appreciated!!!
--
PaulJS
Nov 21 '05 #2
Paul,

You use the word Bind image. What means in terms of VBNet that you have a
kind of datasource that is a collection or a datatable.

From your text however I get an other idea. Can you tell us more what you
mean where comes the picture from and how do you get it..

Cor
Nov 21 '05 #3
Hi Cor,

Yes, thank you, it really did!

I´ve been brooding on this problem for some time now.
Thanks to your hints I came up with the following code in C#,
which works OK for me. But I´m actually not using Binding ...

I have a small MS Access DB called BMprov.mdb for trial.
It contains only one table called PicTest, and this table
contains only three columns:
PicNo (numeric runing number)
Name (character string)
PicDraw (bitmap picture, an ActiveX-object derived from a jpg-file in the MS
Access environment).

Here is the essential code:

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;
using System.IO;

.....

public void runPicture(string picNo)
{
// ICa 2005-06-03 20:38
Cursor tmp = this.Cursor;
this.Cursor = Cursors.WaitCursor;

try
{
OleDbConnection picC = new OleDbConnection();
picC.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;" + @"data
source = C:\Waterials\Databas\BMprov.mdb";
picC.Open();

string sqlString = "SELECT * FROM PicTest WHERE PicNo = " + picNo;
OleDbDataAdapter picA = new OleDbDataAdapter (sqlString, picC);
OleDbCommandBuilder picB = new OleDbCommandBuilder(picA);
DataSet picD = new DataSet();
picA.Fill(picD, "PicTest");
DataTable picT = picD.Tables["PicTest"];

txPicNo.Text = picT.Rows[0]["PicNo"].ToString();
txName.Text = picT.Rows[0]["Name"].ToString();

Byte[] draw = (Byte[]) picT.Rows[0]["PicDraw"];
MemoryStream ms = new MemoryStream(draw, 78, draw.Length -78);
pbDrawing.Image = Image.FromStream(ms);
ms.Close();
}
catch (Exception ex)
{
MessageBox.Show("Fel vid framtagning av bild: " + ex.Message,
"Bild-fel", MessageBoxButtons.OK,

MessageBoxIcon.Error);
}
this.Cursor = tmp;
}

It sure took me some good time to figure all this out ...

Best regards
/Jingo
"Cor Ligthert" wrote:
Paul,

First of all do I when I have this kind of problems create some extra steps
in my code.
Now it is nice connected however hard to debug and even more difficult to
show to somebody else.

Secondly, I don't see the reason for the binding in this. You use a "next
button".

Here a piece from a program from me, not a sample, so I cannot show it
complete because that will be to much.
\\\
Private Sub btnNext_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnNext.Click
If number < dsFototabel.Tables(0).Rows.Count - 1 Then
number += 1
setPicture()
End If
End Sub
///

And then there is in fact nothing more than

\\\
arrPicture = CType(dsFototabel.Tables(0).Rows(number)("thumb"), Byte())
ms = New MemoryStream(arrPicture)
picCurrent.Image = Image.FromStream(ms)
///

However it can as well be that you are using OLE pictures, than you have to
set (hopefully because there are more formats in that)

\\\
Dim ms1 As New System.IO.MemoryStream(arrPicture, 78, arrPicture.Length -
78)
///

I hope this helps a little bit?

Cor

Nov 21 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: halise irak via .NET 247 | last post by:
I get an "ArgumentException: Invalid parameter used at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement)" exception. it is too ridicilious to get such an...
3
by: Shailaja Kulkarni | last post by:
hi All, This problem is for C# windows application. I have a user control whcih contains one picture box along with other controls. Depending on certain conditions I want to change images on the...
2
by: Crirus | last post by:
hello I have apicturebox painted in it's paint event. I need a way to save the image created. Image obj of my picturebox is Nothing. How to output to a jpg my image? Crirus
7
by: Adam Maltby | last post by:
Hi, I am adding an new picbox and animated gif to it at runtime Dim img As Image = Image.FromFile(Application.StartupPath & "\animation.gif") With pic_Wait .Location = New Point(300, 250)...
7
by: lgbjr | last post by:
Hello All, I¡¯m using a context menu associated with some pictureboxes to provide copy/paste functionality. Copying the image to the clipboard was easy. But pasting an image from the clipboard...
3
by: tedqn | last post by:
I'm using VS 2005. When user selects a image from the FileListBox, the code is PictureBox.ImageLocation = sFullPath PictureBox is set to AutoSize. When the newly loaded image is smaller...
2
by: sanju | last post by:
Hi, I am struggling to replace a bit value 'True' or 'False' with a image true.gif or false.gif and bind it to a repeater control. I am getting values 'true' or 'false' depending on whether...
8
by: vicky87.eie | last post by:
I used a picture box to draw lines and rectangle using its graphics object in paint event. Now i need to save those lines i have drawn and print them. I need to know how to save them. I tried...
0
by: Bram2008 | last post by:
I have 2 picbox which contain lines. And i want to print it with "form.print" or "me.print". The problem is i can print the form, but the lines in picture box is gone or missing. ;). Please help me...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.