Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 129
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Bild steht auf reflektierendem Grund


Autor: vbtricks
Sprache: C#
Bewertung:
5.89 (2 votes)
Anzahl der Aufrufe: 7398
  
Kick it on dotnet-kicks.de  

Beschreibung:

Von vielen Apple-Programmen bekannt ist der Effekt, dass Bilder auf einem spiegelnden Grund stehen, der einen Teil des Bildes reflektiert. Die folgende Funktion erzeugt genau diesen Effekt.

Abgelegt unter: Bild, Reflexion, spiegelnd.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/// <summary>
/// Lets appear a picture standing on a reflecting ground.
/// </summary>
/// <param name="source">Image to apply effect to</param>
/// <param name="height">Height of the reflection (percentage)</param>
/// <param name="startTransparency">
///     transparency the effect starts with
/// </param>
/// <param name="BackgroundColor">Color of the ground</param>
/// <returns>a bitmap with the desired effect</returns>
private Bitmap ReflectingGround(Image source, byte height, 
    byte startTransparency, Color BackgroundColor)
{
    // height needed for the shadow
    int shadowHeight = Convert.ToInt32(
        Convert.ToDouble(height) / 100 * source.Height);

    // create new bitmap for the generated picture
    Bitmap myBitmap = new Bitmap(source.Width, 
        source.Height + shadowHeight);

    Graphics myGraphics = Graphics.FromImage(myBitmap);

    // draw the source image
    myGraphics.DrawImage(source, 0, 0);

    // flip the source image and draw it below the source image
    Image flipped = (Image)source.Clone();
    flipped.RotateFlip(RotateFlipType.RotateNoneFlipY);

    myGraphics.DrawImage(flipped, 0, source.Height);

    // create gradient from semi-transparent to transparent over
    // the flipped copy
    Rectangle gradientRect = new Rectangle(0, source.Height, 
        source.Width, shadowHeight);

    // create brush
    System.Drawing.Drawing2D.LinearGradientBrush myBrush = 
        new System.Drawing.Drawing2D.LinearGradientBrush(
        gradientRect, 
        Color.FromArgb(startTransparency, BackgroundColor), 
        Color.FromArgb(255, BackgroundColor),
        System.Drawing.Drawing2D.LinearGradientMode.Vertical);

    // draw gradient
    myGraphics.FillRectangle(myBrush, gradientRect);

    // return created bitmap
    return myBitmap;
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)



Diese Snippets könnten für Sie interessant sein:
[VB.NET] Bildgröße verändern (Verhältnis)
[VB.NET] Bildgröße verändern (Prozentual)
[VB.NET] Bildgröße verändern (Manuell)
[VB.NET] Neues Größenverhältnis eines Bilds berechnen
[VB.NET] JPEG Bild komprimieren
[VB.NET] Bild Transparent machen mit ColorMatrix
[VB.NET] Farben eines Bilds umkehren
[VB.NET] Bild in Graustufen umwandeln
[C#] GDI+ und das Paint Event
[C#] Bild anzeigen - Datei schließen
[VB.NET] Text auf Bild zeichnen
[C#] Größe verändern von Bildern
[ASP.net] Datei nach Bildupload prüfen
[C#] GetEuclidicDistance
[VB.NET] Bitmap Differenz Analyse
[VB.NET] Verschlüsslung von Dateien mit Vernam
[C#] Bild drehen (nach Winkelangabe)
[C#] Bildgröße im Verhältnis verändern (Interpoliert)
[C#] Bild von einem Control oder Panel
[VB.NET] Bildausschnitt auslesen
[VB.NET] Bildgröße im Verhältnis verändern (Interpoliert)
[VB.NET] Bildgröße prozentual verändern (Interpoliert)
[VB.NET] Bildgröße in beiden Dimensionen verändern (Interpoliert)
[VB.NET] Alle Pixel einer bestimmten Farbe neu einfärben
[C#] Bilder verkleinern, beschneiden und beides gleichzeitig
[C#] Bild splitten
[VB.NET] Bytearray to Image / Image to Bytearray
[C#] Text2Bitmap (String in Bild umwandeln)
[C#] Hintergrundfarbe Transparenter Bilder (z.B. PNG) ändern
[C#] Größe eines Bildes mit mit gleichem Seitenverhältniss ändern
[C#] externes Programm aufrufen (andere Version) mit Parameter
[C#] Herausfinden welches Programm ein bestimmtes Dokument öffnet
[C#] Bitmap schneller in Graustufen wandeln
[C#] Bilder aus *.resx Ressourcen Dateien in WPF verwenden
[VB.NET] Bild mit allen farben (True Color 16 Millionen Farben)
[C#] Schwarzweiß Bilder mit einem Farbverlauf füllen
[C#] Bild rotieren mit C#

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.