Interface And Graphics :: Take A Screenshot And Save To Bitmap?
Dec 29, 2010
I'm having an issue with some code I'm trying to write that takes a screenshot of the current screen and saves it to a bitmap file on my local PC.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim tempScreenshot = New Bitmap(Screen.PrimaryScreen.Bounds.Width,
I knew everything I needed to save an image, so I type in my code, and yet another error pops up. Here's the bit of code: screenshot.Save(CaptureMain.picLocation.ToString, Imaging.ImageFormat.Bmp, "Screenshot")
And, the error's kind of lengthly... Error1Overload resolution failed because no accessible 'Save' can be called with these arguments:
'Public Sub Save(stream As System.IO.Stream, encoder As System.Drawing.Imaging.ImageCodecInfo, encoderParams As System.Drawing.Imaging.EncoderParameters)': Value of type 'String' cannot be converted to 'System.IO.Stream'. 'Public Sub Save(stream As System.IO.Stream, encoder As System.Drawing.Imaging.ImageCodecInfo, encoderParams As System.Drawing.Imaging.EncoderParameters)': Value of type [Code] ..... The variable 'screenshot' is a bitmap.
I'm working on a small app that takes a series of screenshots to analyze a graph. The problem I'm having is that, on my 3-monitor setup, the screenshot works fine on the primary monitor, but when I drag my app to either of the other monitors, the screenshot is black. I've also tried taking screenshots of the other monitors while the app is in the primary monitor by feeding the coordinates into the CopyFromScreen call directly, and that works, but as soon as I drag my app to one of the other monitors, all my screenshots are black. Also, and I'm pretty sure this will be important later, my primary monitor is attached to the on-board video, whereas the other two are attached to a separate video card. Both the on-board and installed cards are ATI Radeons.
Here's the screenshot code I'm using:
Code:
Namespace ScreenShot '/ Provides functions to capture the screen, in whole or part Public Class ScreenCapture
faster way to flood fill an area of a bitmap? It basically acts just like the fill flood bucket in MS Paint. clsBitmapImage is a Bitmap variable.
Code:
Code: Public Sub FloodFill(ByVal AtPoint As Point, ByVal newColor As Color) Dim oldColor As Color = clsBitmapImage.GetPixel(AtPoint.X, AtPoint.Y) If oldColor.ToArgb <> newColor.ToArgb Then
What i'm trying to do is fill a non rectangular region (actual build up out of 6 points) and draw a bitmap in such a way that it stretches with the region. Now for drawing a normal bitmap or even a trapezoid bitmap there are examples on the net. but drawing anything more then that with GDI+..
How do I rotate a bitmap image that has been placed in a picturebox? I need to make it appear upside down or rotated according to user input. I can't find anything in the properties to do this
I need to write a code to find identical adjacent pixels in a bitmap image. It should work as the 'magical wand' in Photoshop. My images are always black and white (white background with car parts drawed in black). Given the x,y coordinate for a single black pixel in the whole image, the code should find (and paint with another color, say red) all other black pixels that are linked to that one, and so on, until all linked black points will be painted in red.
I need to write a code to find identical adjacent pixels in a bitmap image. It should work as the 'magical wand' in Photoshop.My images are always black and white (white background with car parts drawed in black). Given the x,y coordinate for a single black pixel in the whole image, the code should find (and paint with another color, say red) all other black pixels that are linked to that one, and so on, until all linked black points will be painted in red.This way, suppose that I have an image with 4 car parts drawed, then if I give the x,y coordinate of a black pixel, just THAT part to whose the black pixel belongs to should be painted in red. All other parts will remain black. Does it make sense?At the end, there are two pictures (before and after) to help understanding what I need to do to the images.I tried a simple 8-pixel adjacent approach for every pixel (starting on initial coordinate) but it turns out into a very stupid and endless looping algorhitm.
I am trying to create bitmap with my text and transformation. I am sure that there is no error in my code. Because this code is worked previously. Here is my code.
In the below code I load the image to the graphics path using resource image and adding text on it. When I add the image through open file dialog it paints on the form with original size but I need to resize it, add it to the PictureBox, add text to it and give zoom and pan options to it and then I need to save with the original size.
When I resize and when save the image I endi up with a small image.
Here is my code:
Imports System.Collections.ObjectModel Imports System.Drawing.Drawing2D Public Class Form1
I start some new project and i finding some way to save image from webbrowser to file. I can find url and get file. But i need cached file from webbrowser, bacause its generated :/ . I make lot of googling but no result..
I'm taking a screenshot as a System.Drawing.Bitmap and trying to send it through a network as a byte array.If I take the original screenshot and simply save it to disk, it's about 200Kb.Instead I'm saving it to a memorystream so I can write that back to a Byte Array and it's coming out over 6Mb.
Im working on a project that needs to print a report of one client.Everything went smooth untill i came across my multiline input text data.When i display it in the PrintPagePreview the text go's outside my page. Even when im printing it only the halve of my text is displayed. I googled and looked everywhere but i can't get a clear fix for it.
I used to program with Visual Basic 6, so I have alot of old programs that I'm updating, plus I'm learning the new VB2008 methods. I'm writing a program that replaces the old "BitBlit" function which is no longer supported by Visual Basic 2008. It involves three picture boxes, one holds the sprite bitmap, a second holds the mask (silhouette) of the sprite bitmap, and a third has a background image.
drawing text on a window which is not the current form's window.I remember doing this in Win32 api with getwindowdc(handle) to obtain a DC for the Window, then textout() on the DC.
I'm working on a design project where I have to use a Graphical User Interface that contains a drag and drop form. It consists of having a window dropped on a wall. Both of them are images to scale. I would like to know what kind of code I would have to use to show the x and y coordinates of one of the points of my window when dragged so when I drop it, I'm dropping in it on the desired coordinate of the wall.
Ok, I want to create a class that will handle a special rectangle graphic.In my form, I want to have two of these special rectangles. So, basically, I need two instances of that class in my form, right?I manage to initialize two, alright. But, how exactly am I supposed tomanage drawing/graphics etc in a class, and the results to be displayed in my form?
I was wondering if I could elicit some tips on how to procede with an interface design approach.That is. What is a good way to go about establishing a "work area" where one can have multiple "floating forms" in this area.Can you have a form which occupies the entire windows desk top and the other forms "float" in this space? the "floating" forms would need to interact with each other where pressing buttons etc on them would affect other forms on the "workspace") Or what would be a good way to start accomplishing that? Or is there a better way to get the same effect?
I'm trying to make a .dll that contains a lot of basic functionality that a program can use. Currently i am trying to use interfaces to make a lot of this functionallity independend of the program using it but i hit a snag. The Basic idea is that a programmer will create his own object using the interface discribed in my .DLL file. Then implements those functions as he likes. He can then instanciate a controller (found in the same DLL) and sends his custom object implementing the interface to that Controller. The controller can then be started and will take over all the work. I do not know what type of object is send to the controller and idealy i want to program it in such a fashion that i shouldn't care as long as the object send implements that interface.In code I am trying to achieve the following: (quite simplyfied)
.Dll: Code: Public Interface MyInterface '<----Decleration of the interfaceFunction GetData() As Integer Function SetData(Data As Integer) end interface
[code]....
this propperly. I know that the second i set the interface adaptor in the Controller VS comes nagging that it can not be converted to a "MyInterface" Class. Obviously i am doing something wrong. I can change the datatype that the controller expects to the "MyController" type but that would completely ruin the whole idea of flexibillity. I am hoping someone sees what i am trying to do and can point out where i made the thinking error.
Is this where i would post a picture of my interface and get feedback on changes for easier use? If not is there someplace on this forum or any other forum to do this?
So I decided to make my famous tile selector project, but instead of drawing in a form's graphics, do it inside a tabpage.Well, I managed to get it working, but it seems to... flicker.Normally, setting the form's DoubleBuffered property to True would help a lot there, but apparently, the tabpage has no such property.
When I invalidate the tabpage, I draw two images and fill one rectangle.Following past advice, those two images were created before, just once, and are stored in a variable so I don't create them every time I invalidate the tabpage.