Help DrawImage in System.Drawing Namespace

In the past when coding using VB6 I frequently use to use BitBlt to transfer images to the visible screen. One function this offered was the ability to "AND" the source image, with the destination image. I cannot find a way to do this in VB.Net. Does anyone know if it is possible using the System.Drawing namespace ? or is there a different way to product this function ? or should I stay with BitBlt (and is API Bitblt still supported in Vista?)


 
LVL 3
Blackninja2007Asked:
Who is Participating?
 
Luis PérezConnect With a Mentor Software Architect in .NetCommented:
Well... I don't know what type of operation you can do with that "AND" operation... but for sure that BitBlt (that in the past I used often, too) IS supported in Vista, at least in 32bit versions.
0
 
Blackninja2007Author Commented:
What I can do with "AND" is create a grey scale bitmap for something like a SevenSEG Display, then when I blit it in if the desitination is cleared to red first the SevenSEG display appears Red LED, if the destination is cleared to green the SevenSEG display appears Green LED, and with a little bit of maniulation you can also generate a sevenSEG display that looks like LCD or BackLit LCD all from a single bit map.

Is BitBlt still accepted as good/acceptable programming structure then for this kind of function ?



0
 
Mike TomlinsonConnect With a Mentor Middle School Assistant TeacherCommented:
You can still BitBlt in .Net.  Just change your API declarations so that "Long" becomes "Integer"...don't forget to change variables in code as well.

For window handles you can use "IntPtr" instead of "Integer".
0
Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

 
Blackninja2007Author Commented:
Thanks for you assist, I guess confirmation for me to use bitblt, as .NET does not provide this functionality. Thanks again.
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
If I understand correctly you can do this in .Net...I ~think~ you want something like this:

        Dim bmp As New Bitmap(someWidth, someHeight)
        Dim G As Graphics = Graphics.FromImage(bmp)
        G.Clear(Color.Green) ' fill it with green

        ' ...draw on it somehow...
        ' Manually:
        G.DrawLine(Pens.Black, 0, 0, 100, 100)

        ' Draw another Image on top:
        G.DrawImage(someMemoryImageHere, New Point(0, 0))

        G.Dispose()
        ' ...do something with "bmp"...
0
 
Blackninja2007Author Commented:
Hi Idle I have attached an image showig a sample of what I mean.
Image1.jpg
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
Ok...so more of an alpha blend image then?

That is also possible to do in .Net:
http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Basic.NET/Q_21302112.html#13228503
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.