J'ai récupéré le bout de code suivant sur Internet pour créer un effet d'ombre avec le code suivant (c'est du C#):
Voici l'image:
et ici le code ci-dessus:
Code : Tout sélectionner
using System.Drawing;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
//using Microsoft.Unity.VisualStudio.Editor;
public class dragImage : MonoBehaviour, IDropHandler
{
Image srcImage = Image.FromFile("source.png");
Bitmap shadowImage = new Bitmap(srcImage.Width, srcImage.Height);
// Créer un objet Graphics pour dessiner l'ombre
using (Graphics g = Graphics.FromImage(shadowImage))
{
// Définir les paramètres pour le pinceau de l'ombre
Color shadowColor = Color.FromArgb(128, 0, 0, 0); // Alpha = 128 pour la transparence de l'ombre
int shadowSize = 10; // Taille de l'ombre en pixels
// Dessiner l'ombre en plusieurs passes pour créer un effet de flou
for (int i = 0; i < shadowSize; i++)
{
// Définir la transparence pour cette passe
int alpha = (int)(shadowColor.A / (i + 1f));
Color alphaColor = Color.FromArgb(alpha, shadowColor.R, shadowColor.G, shadowColor.B);
// Définir le pinceau pour cette passe
Brush brush = new SolidBrush(alphaColor);
// Dessiner un rectangle plus grand que l'image source pour créer l'ombre
g.FillRectangle(brush, -i, -i, srcImage.Width + shadowSize, srcImage.Height + shadowSize);
}
// Dessiner l'image source sur l'ombre avec un décalage
g.DrawImage(srcImage, new Point(shadowSize, shadowSize));
// Enregistrer l'image avec l'ombre
shadowImage.Save("image_avec_ombre.png");
}
}
Ca serait bien si vous pouvez m'aider.
Merci pour votre aide,
A+