Går det att kodvägen dimma ner en giffbild?? <code> Tack Roggan, bara en fråga: graphics är den ytan du vill rita på. Jag får bara fel, beroende på att jag nog inte fattar hur jag skall skriva på det första agrumentet. du skickar in en rektangel istället för en graphics. Tack Roggan. transparencyfaktorn är hur genomskinlig bilden ska vara "Dimma" ner en giff-bild?
Jag håller på att få ihop en bra meny med iconer, problemet just nu är att om jag har satt menuItem till enable=false, så är iconen lika "klar" i alla fall.
Jag hämtar min icon(giff bild) så här;
<code>
img_save = new Bitmap(Application.StartupPath + "\\Bild\\save.gif");
</code>
I detta fallet så är det alltså "img_save" som jag ville ha lite ljusare.
Går detta att genomföra??Sv: "Dimma" ner en giff-bild?
public static void DrawGrayImage(Graphics g, Image Image, int X, int Y, float Transparency)
{
ColorMatrix cm = new ColorMatrix();
ImageAttributes ia = new ImageAttributes();
cm.Matrix33 = Transparency;
cm.Matrix00 = (float)1/3;
cm.Matrix01 = (float)1/3;
cm.Matrix02 = (float)1/3;
cm.Matrix10 = (float)1/3;
cm.Matrix11 = (float)1/3;
cm.Matrix12 = (float)1/3;
cm.Matrix20 = (float)1/3;
cm.Matrix21 = (float)1/3;
cm.Matrix22 = (float)1/3;
ia.SetColorMatrix(cm);
g.DrawImage(Image, new Rectangle(X, Y, Image.Width, Image.Height), 0, 0, Image.Width, Image.Height, GraphicsUnit.Pixel, ia);
}
</code>
//RogerSv: "Dimma" ner en giff-bild?
>public static void DrawGrayImage(Graphics g, Image Image, int X, int Y, float >Transparency)
Graphics är det t ex bitmap,giff osv
Image är ju bilden, X och Y kan ju ha sina problen, men det ordnar sig nog.Sv: "Dimma" ner en giff-bild?
du får tex en Graphics i OnPaint eller menyritar eventsen etc.
så du skickar in en färgad bild och en yta och var på ytan du vill rita , så ritas din färgbild som dimmad på den ytan
//RogerSv: "Dimma" ner en giff-bild?
Detta är orginalkoden:
<code>
SizeF sz = useImage.PhysicalDimension;
e.Graphics.DrawImage(useImage, e.Bounds.X+5
, ( e.Bounds.Bottom + e.Bounds.Top ) /2 - sz.Height/2);
</code>
Jag försöker så här:
<code>
DrawGrayImage(rc, useImage, ( e.Bounds.Bottom + e.Bounds.Top ) /2, sz.Height/2, 25);
</code>
..där rc står för
<code>
Rectangle rc = new Rectangle(e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);
e.Graphics.FillRectangle(new SolidBrush(System.Drawing.SystemColors.Control) , rc);
</code>
Jag antar att jag är helt ute och reser??Sv: "Dimma" ner en giff-bild?
skicka in e.Graphics istället.
//RogerSv: "Dimma" ner en giff-bild?
Efter att ha fått knugga lite geniknölar så gick det kanonbra.
Därimot så verkar inte Transparency att fungera???Sv: "Dimma" ner en giff-bild?
går mellan 0-1 (0-100%)
//Roger