Solved

Help DrawImage in System.Drawing Namespace

Posted on 2008-10-14
7
798 Views
Last Modified: 2013-11-26
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?)


 
0
Comment
Question by:Blackninja2007
  • 3
  • 3
7 Comments
 
LVL 25

Accepted Solution

by:
Luis Pérez earned 250 total points
ID: 22710856
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
 
LVL 3

Author Comment

by:Blackninja2007
ID: 22710964
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
 
LVL 85

Assisted Solution

by:Mike Tomlinson
Mike Tomlinson earned 250 total points
ID: 22711381
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
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 3

Author Closing Comment

by:Blackninja2007
ID: 31505821
Thanks for you assist, I guess confirmation for me to use bitblt, as .NET does not provide this functionality. Thanks again.
0
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 22715641
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
 
LVL 3

Author Comment

by:Blackninja2007
ID: 22717406
Hi Idle I have attached an image showig a sample of what I mean.
Image1.jpg
0
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 22717635
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

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Welcome my friends to the second instalment and follow-up to our Minify and Concatenate Your Scripts and Stylesheets (http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/A_4334-Minify-and-Concatenate-Your-Scripts-and-Stylesheets.html)…
In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

786 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question