Drawimage On An Empty Picturebox Keeping Transparency?
Nov 15, 2010In the following code is the way to make a picture transparent (picture i1 is emty and opacity can get values from 0.00 to 1.00[code]...
View 1 RepliesIn the following code is the way to make a picture transparent (picture i1 is emty and opacity can get values from 0.00 to 1.00[code]...
View 1 RepliesI stumbled upon an excellent article about taking screenshots of specific windows in .NET, and doing something with black and white color rectangles behind those windows in order to preserve the aero effect when saving a screenshot to a PNG.Well, I can't find that article anymore, mainly because crap sites and other stuff not at all associated with taking screenshots SEO'd their way into Google's results.Does anyone know how I can take a screenshot of a specific window while preserving the aero effect?
View 1 RepliesI've a program that draw an image in a picturebox with DrawImage. This image, a ball (.png transparent), every second is overwritten by another ball of different color. After 3-5 second the edge of the ball becomes bad, because of overwriting.
I tried to clean the background with a FillRectangle before any overwrite, but i need to preserve the windows form background. How can i do that?
My app has scrolling images in the background and a picturebox on top. The image in the picturebox has transparent parts. How can It so that the transparent parts show whatever is belo the picture box, not the form background? I have tried taking screenshots and positioning them as background but this just freezes the app.
Dim ScreenSize As Size = New Size(154, 83)
Dim screenGrab As New Bitmap(154, 83)
Dim blank As New Bitmap(100, 300)
[CODE]...
This is my first post to these forums so forgive me for any etiquette I may be disregarding.I am creating a custom control that has a TabControl on it. The user will then double click or right click the TabControl to display a ContextMenuStrip asking if they would like to add a new image (or tab) to the project. After they select the image file, I create a new tab, add that to the TabControl, and then I want to create a PictureBox that I draw on in a particular way depending on space available and several other factors.
Where I am having the issue is in drawing the image to the PictureBox, it is only displaying the BackColor and none of the DrawImage work. It is important to note that because of what I am doing it will not suffice to set the PicBox.Image = ImageFile or PicBox.BackgroundImage = ImageFile. I need to select tiles from the image file and then draw them into the PictureBox in a particular way, which changes if the control resizes. Also, I am using a PictureBox because the final image within it can potentially be larger than the containing tab page, and therefore I want the TabPage to generate an AutoScroll bar. If there is another way to do this, please let me know.
Below is a very simple example of what I have currently. What I suspect to be happening is that the PictureBox's Paint event is firing after I do my DrawImage work and basically overriding what I did, but I hope I am wrong.OpenAddTilesetForm() simply displays a form for the user to select which image to use, and the properties pertaining to it.
[Code]...
I have tried to realign the image by down and right one pixel, but still only part of the first row and column are visible when zoomed.I can't find exactly what I'm looking for online.
My computer is an HP-Pavillion dv9600 Notebook PC.
OS: Windows Vista SP2 32-bit
The following code reproduces the problem:
Public Class PictureBug
Dim pxlColor As Color
Dim img As Bitmap = New System.Drawing.Bitmap(My.Resources.TestBug[code]......
Right now I currently have an array of pictureboxes, and over them I want another large picturebox that has a sort of transparent fog effect. I created a png with this and made sure to save the alpha transparency, however when the picturebox shows up, you are not able to see underneath it. Is there anyway to fix this without using the GDI instead of pictureboxes? Because of the way the program is set up, I think GDI would be too slow for my purposes.
View 1 RepliesI have a windows form application where there are several circles that need to be moved around the form at random. I have tried doing this with pictureboxes, as well as ovalshapes.
When I use a picturebox, the corners of the image (which should be transparent) show as the same color of the form, when they should show what is underneath (which could be another circle).
I do not have this problem when I use an ovalshape. However, two of my circles need to have a star on them and I can't seem to figure out a way to do that because I can't get a transparent background. I've tried a transparent background image and a transparent background label and nothing seems to work.
I want to try an simulate a fake lighting system in Visual Basic 2010 by using 2 images.One is Form1's background, and the other is Picturebox2's image. Picturebox2's image is a black background with a transparent circle in the middle.The only problem is, when transparent, it shows the background of the form, and looks right through the background image.How could I get around this so that the transparent part of the image is Form1's background image, and not the backcolor?
View 4 RepliesHow to detect picture has a picture on empty?Suppose , I droped a picturebox control on form, there is no image loaded in it, what codes should I needed those will tell me that picturebox is empty?
View 1 RepliesHow can i hide a picturebox if it contains NOTHING
Dim a As Integer
Dim PicString(26) As Image
Dim PicBox() As PictureBox = {Box1, Box2, Box3, Box4, Box5, Box6, Box7, Box8, Box9, Box10, Box11, Box12, Box13, Box14, Box15, Box16, Box17, Box18, Box19, Box20, Box21, Box22, Box23, Box24, Box25, Box26}
[code]....
This does not work... The PicBox(c) = Nothing ... is not a valid command.
I have an application where I have different picture boxes which the user can drag and move.I also have different empty pictureboxes.
What I want to do:I want to let the user be able to drag a picturebox to one of the empty pictureboxes. Also, If the user drags a picturebox to an invalid place (outside the bounds of any of the empty pictureboxes), the dragged picture box should return to its previous location.
So what I currently have is the usual drag-drop code and on the MouseUp event, I run this code (currently only checking for one empty picturebox):
If Not pbEmpty1.Bounds.Contains(Me.PointToClient(pbRemote.Location)) Then
pbRemote.Location = OldLocation
End If
(pbEmpty1 = Empty picturebox, pbRemote = picturebox that is dragged)
But it doesn't work, it doesn't care if the picturebox is inside the bounds of the empty picturebox or not, it still returns to its previous location...
I have these three images that I have drawn to my form.
GraphicsBuffer.DrawImage(ButtonEasy, New Rectangle(25, 330, 100, 50), 0, 0, 100, 50, GraphicsUnit.Pixel, ImageAttributes)
GraphicsBuffer.DrawImage(ButtonMedium, New Rectangle(150, 330, 100, 50), 0, 0, 100, 50, GraphicsUnit.Pixel, ImageAttributes)
GraphicsBuffer.DrawImage(ButtonHard, New Rectangle(275, 330, 100, 50), 0, 0, 100, 50, GraphicsUnit.Pixel, ImageAttributes)
But I want to make a Boolean expression for when they are clicked so I can trigger the events to load the game mode selected.
Do I do this through resource code or is there a simply way to do this. My idea seems like it would be bad and not syntaxically correct.
Edit: I've gotten to this:
Private Sub ButtonEasy_MouseClick(ByVal sender As Object, ByVal e As MouseEventArgs) _
Handles ButtonEasy.MouseClick
[Code].....
At the top of my code I have:
imports system.drawing.graphics
but when I try to use it, no DrawImage or DrawString methods are available. I can get DrawImageAbort rather ironically.[code]...
Well currently im programming a game in Visual Basic and I have it to the point where it draws a map on the form, it loads maps to different areas when you walk on the map, and I am doing so by using Graphics. DrawImage which redraws the map on the screen with the character in the new position. It was working quickly and smoothly until now.
I added some more sprites and now it starts to lag badly then it will throw a Out of Memory exception and it will display a big red x across the form. I watched the memory now as i move the character one spot on the forum and the memory increases 100mb's each time. It wasn't doing this before which is weird. I managed to fix the out of memory error using GC.GarbageCollect but I read that this is bad, also the character still lags across the forum. I really didn't want to release the source code until I was finished but seeing as I need help quickly because this is for a project I am working on for Thursday (End of semester Programming 2 Junior year of high school) I don't have many options.
In my user control's paint handler I iterate over a collection of predefined Bitmap objects and draw them to the client area thusly:
C# version:
private void Control_Paint(object sender, PaintEventArgs e) {
Graphics g = e.Graphics;
foreach (BitmapObj bmpObj in _bitmapObjCollection) {
g.DrawImageUnscaled(bmpObj.Bitmap, bmpObj.Location);
[Code] .....
The code works fine but starts to bog down when a dozen or so objects are added to the collection. My question is: Is there a way to speed this up? Would it be possible to use the Win32 bitblt function to replace DrawImageUnscaled? And if so how?
Graphics.DrawImage loses resolution
View 13 RepliesBasically, what I am trying to do is scale part of an image. In VB6 the Scaling version of the BITBLT api worked fine, however in .NET's Drawimage version of it works okay, until a different destination size is specified.url...The red is from the next tile on the source image. and the bottom is missing one row of pixels.I have also screened this, and counted that the left side isn't properly doubled and the very first column of pixels is in 1x1 squares instead of 2x2 like the rest of the image.I don't get why it's obtaining outside the range I set, so here is my code incase it helps, note that you'll need to define a blocks array:[code]
View 3 Repliesusing DrawImage I can copy the whole source picture into destination one using its left&top corner and width&height sizes...butI would like to copy A REGION of source picture into destination one using my "starting corner" and my sizes.
View 5 RepliesI am using VB 2008 & drawimage function to copy image A to Image B. My problem is image A has many different colored patches on it and I only want to copy the ones that have a certain RGB value. I was going to set the masking color to the RGB value but remembered that defines the color to ignore - Im interested in the opposite.
I know I could loop through all the pixels and check its color, but its way slow and Im hoping theres something better?
[Code]...
I don't know how to distort bmpR with destinationPoints0. Which graphic method do I use to transform it? Muchas gracias, Onion Ring (fried) Onion is a recent refuge from Mac OS X and hates Mac App Store. System: Windows 7 x64
I'm trying to improve the speed of my call to:Graphics.DrawImage (Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes)I want to display two images, where the old one fades smoothly into the new one, driven by a Timer tick of 10 or 20 ticks a second. The following code runs fine on JPEG files of around half a megabyte or less, but takes much too long (up to half a second) fora 2MB JPEG. Using the Stopwatch control, I isolated the problem to the two .DrawImage calls. Do I need to do this in DirectX or is there a way to improve the efficiency of the routine? I thought of trying to resize the two images beforehand to fit the rectangle, but that's not a simple call (I don't think), and it might just mean moving the delay elsewhere.
(Dim fltOpacity As Single = 1.0F 'opacity value)
(Dim BGrafx As BufferedGraphics)
* * * * * * * * * *
[code].....
How do I flip the image upside down (below the first image) Like as if a house were at the waters edge and you can see the house, and the reflection in the water?
code for drawing the image (which is a battery)
VB
'Finding center'
Dim batX As Integer = 160 - (imgDct(cbo_Battery.Text).Width / 2)
Dim batY As Integer = 200 - (imgDct(cbo_Battery.Text).Height / 2)
'Draw Battery
[Code]...
' Show game directions.[code]...
I think this is actually really easy to do that it isn't documented on here or msdn.
This is in a class, the class inherits Panel. VB.net
[Code]...
The goal is to have this image stretched to 300x50 Whenever I do it, it works, but it fades the image from left to right, so that at Left = 0, the image is solid, but at Left = 300, the image is transparent.
I need to draw a bitmap background with one or more moving bitmaps in the foreground; something like a chessboard where pieces move across it. I use a timer-tick event to redraw the background and then draw the relocated foreground image like the code below. But I get flicker, even though I set the form to use double-buffering. The culprit seems to be redrawing the background to refresh where the foreground images used to be; no flicker if I replace the background DrawImage with a simple Graphics.Clear. I think what I want to do is draw the background, and the foreground bitmap(s), in memory and then render it all. I used to do this with double-buffering, BitBlt, and .Refresh in VB6 but I haven't found the equivalent in VB2010. This must be a pretty common graphics requirement; what's the trick to it?
Dim Gfx As Graphics
Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.UserPaint Or ControlStyles.OptimizedDoubleBuffer, True)
Dim rectBrd As Rectangle 'use as clipping region for drawing
[Code].....
I have a DataGridView that has some columns with dates. It binds to an in-memory Datatable which gets loaded from an string array of data passed back from the backend Some of the rows returned have nulls for the date columns. Solution 1: If I define the Date column in the DataTable as "string" I can easily convert those nulls to empty strings and display it in the grid as empty strings (desired results). However, if the user clicks on the date column header to sort by date, it doesn't order the rows as you want. You get a purely string sort order. Not acceptable
[Code]...
This must've have been asked before but I couldn't locate it. In a mixed code project (VB and C#) we were debugging some old Visual Basic code where a statement as follows could be found:
If Request.Params("xxx") <> "" Then
'do something
I considered this a bug as Request.Params could be null, in which case the statement would've become false which wasn't the idea. So I thought. I just found out, -- probably for the tenth time and I will keep forgetting -- that the following two statements are not equal, while Nothing in VB should be equal to null in C# (thought I):
if(String.Empty == null) // always false
If String.Empty = Nothing Then ' always true
Should I dismiss this as a typical Microsoft backward compatibility effort, or should I consider this a huge error in the VB.NET compiler? Does anybody know the Microsoftean opinion on this oddity?
How can i get the combo box to keep the value that was partialy keyed in and completed with auto complete.Pressing enter doesn't select the value so when you tab out it keeps the entered auto completed value. The only way to keep the auto complete value is to click on the combo box with the mouse and then tab out of it. I would like some how of being able to tab out of the combo box and it keep the auto completed value that the user has entered so as to save time entering data so no mouse clicks are needed and the data grid view can be tabbed through and all data entered from keyboard.
View 3 RepliesWhen i run my code, the picture box has a background colour, even though I have set the background colour to transparent in the properties window.
View 1 Replies