Próbuję utworzyć obraz z przezroczystym tłem do wyświetlenia na stronie internetowej.
Próbowałem już kilku technik, ale tło jest zawsze czarne.
Jak utworzyć przezroczysty obraz, a następnie narysować na nim kilka linii?Utwórz obraz z przezroczystym tłem za pomocą GDI +?
22
A
Odpowiedz
37
Zadzwoń pod Graphics.Clear(Color.Transparent)
, aby dobrze wyczyścić obraz. Nie zapomnij utworzyć go w formacie pikseli, który ma kanał alfa, np. PixelFormat.Format32bppArgb
. Tak:
var image = new Bitmap(135, 135, PixelFormat.Format32bppArgb);
using (var g = Graphics.FromImage(image)) {
g.Clear(Color.Transparent);
g.DrawLine(Pens.Red, 0, 0, 135, 135);
}
Zakłada jesteś using
System.Drawing
i System.Drawing.Imaging
.
Edytuj: Wygląda na to, że nie potrzebujesz Clear()
. Po prostu tworzenie obrazu z kanałem alfa tworzy pusty (całkowicie przezroczysty) obraz.
0
To może pomóc (coś wrzuciłem razem który ustawia tło formularza systemu Windows do przejrzystego obrazu.
private void TestBackGround()
{
// Create a red and black bitmap to demonstrate transparency.
Bitmap tempBMP = new Bitmap(this.Width, this.Height);
Graphics g = Graphics.FromImage(tempBMP);
g.FillEllipse(new SolidBrush(Color.Red), 0, 0, tempBMP.Width, tempBMP.Width);
g.DrawLine(new Pen(Color.Black), 0, 0, tempBMP.Width, tempBMP.Width);
g.DrawLine(new Pen(Color.Black), tempBMP.Width, 0, 0, tempBMP.Width);
g.Dispose();
// Set the transparancy key attributes,at current it is set to the
// color of the pixel in top left corner(0,0)
ImageAttributes attr = new ImageAttributes();
attr.SetColorKey(tempBMP.GetPixel(0, 0), tempBMP.GetPixel(0, 0));
// Draw the image to your output using the transparancy key attributes
Bitmap outputImage = new Bitmap(this.Width,this.Height);
g = Graphics.FromImage(outputImage);
Rectangle destRect = new Rectangle(0, 0, tempBMP.Width, tempBMP.Height);
g.DrawImage(tempBMP, destRect, 0, 0, tempBMP.Width, tempBMP.Height,GraphicsUnit.Pixel, attr);
g.Dispose();
tempBMP.Dispose();
this.BackgroundImage = outputImage;
}
+0
To zbyt skomplikowane i nie trzeba tego robić w ten sposób :) – nXqd
Powiązane problemy
- 1. Rmagick - obraz z przezroczystym tłem z tekstu
- 2. Jak utworzyć obraz z przezroczystym tłem?
- 3. PreferenceFragment z przezroczystym tłem?
- 4. BottomSheetDialog z przezroczystym tłem
- 5. Ładowanie MPMoviePlayerViewController z przezroczystym tłem?
- 6. Jak wyciąć pudełko Za pomocą CSS z przezroczystym tłem?
- 7. pobrane obrazy png z przezroczystym tłem pokazuje z czarnym tłem
- 8. Python: obraz odwrócony z przezroczystym tłem (PIL, Gimp, ...)
- 9. javafx2.2 Tworzenie paska przewijania z przezroczystym tłem
- 10. Tworzenie obrazu z przezroczystym tłem w ImageMagick
- 11. Matlab: Zapisz rysunek z przezroczystym tłem
- 12. Odtwarzanie wideo rzeczywistości rozszerzonej z przezroczystym tłem
- 13. Jak utworzyć UIImage z przezroczystym tłem
- 14. JScrollPane z przezroczystym tłem i zawartością
- 15. Jak zrobić SurfaceView z przezroczystym tłem?
- 16. OSX/kakao - NSScrollView z przezroczystym tłem
- 17. ImageMagick przedłużyć płótno z przezroczystym tłem
- 18. Wsady na kształt z przezroczystym tłem
- 19. DialogFragment z przezroczystym tłem (bez przyciemnienia)
- 20. Swift Modal View Kontroler z przezroczystym tłem
- 21. Legenda wykresu R z przezroczystym tłem
- 22. Jak utworzyć obiekt UITableViewCell z przezroczystym tłem?
- 23. Obrazy w języku PHP z przezroczystym tłem
- 24. Uczyń przezroczystym tłem ikon androida w zaćmieniu
- 25. Czy Mayavi może renderować scenę z przezroczystym tłem?
- 26. Przechwytywanie migawki układu względnego z przezroczystym tłem daje bitmapę z czarnym tłem nieprzezroczyste
- 27. Wykryj prostokąt przycinający dla UIImage z przezroczystym tłem
- 28. Zapisz UIView jako plik PNG z przezroczystym tłem
- 29. Jak utworzyć mapę bitową z przezroczystym tłem w przejrzystym formularzu?
- 30. Jak narysować trójkąt z przezroczystym tłem z obramowaniem?
Chyba brakowało przeciążenie konstruktora Bitmap Niestety, nie mają Kod dostępny już teraz, spróbuję tego wieczoru ... –
Zaufaj mi, działa, próbowałem;) – OregonGhost
Było trochę więcej niż to, co powiedziałeś, ale zrobiłem trochę badań i dostałem go do pracy . Dzięki. –