[ Bokacio @ 04.05.2010. 02:13 ] @
Pozdrav, Potrebno mi je da koristim metodu RGB, ali ne mogu nikako da nadjem kom namespace-u pripada (zbog cega na mogu da kompajliram) Ako neko zna, molio bih ga da mi kaze. Hvala. |
[ Bokacio @ 04.05.2010. 02:13 ] @
[ dili900 @ 04.05.2010. 22:05 ] @
Namespace: Microsoft.VisualBasic
Assembly: Microsoft.VisualBasic (in Microsoft.VisualBasic.dll) [ Bokacio @ 05.05.2010. 01:51 ] @
Koristim C#,ali sam probao da u using stavim i Microsoft.VisualBasic ali ne pomaze. Kaze:
Error 1 The name 'RGB' does not exist in the current context Tu funkciju sam nasao u nekom c# projektu, ali mi nije jasno kako njima radi (!?) Da li neko zna kako ovo resiti? Hvala na odgovorima [ SehaxX @ 05.05.2010. 07:49 ] @
Mozes li molim te postirati liniju koda tog primjera, kao i mjesto deklaracije classe gdje se poziva funkcija.
U C# imas namespace using System.Drawing; Zatim mozes da uradis nesto ovako. Code (csharp): public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Color c = Color.FromArgb(255,11,52); //kreiras neku boju int i = c.ToArgb(); //dobijes int za kreiranu boju //radi nesto .... } } U svakom slucaju ako ovo ne radi, posalji malo detaljnije info iz coda da vidimo kojoj klasi pripada. Pozdrav [ Bokacio @ 06.05.2010. 21:51 ] @
Hvala na odgovoru,
Pokusavam da pozovem SetTextColor funkciju iz WinAPI-ja: Code: [DllImport("gdi32")] public static extern uint SetTextColor(IntPtr hDC, uint colorRef); Ona kao sto mozes videti trazi uint parametar. Kada otkucam nesto poput: Code: SetTextColor(hdc, 43244); sve lepo radi, ali nikako ne mogu da Color konvertujem u uint: Code: SetTextColor(hdc, Color.Red); Recimo ovo mi ne radi: Code: static public uint GetCOLORREF(Color color) { Color c = Color.FromArgb(color.R, color.G, color.B); int i = c.ToArgb(); return (uint)i; } Vraca crnu kao boju teksta. Da li sam negde pogresio? Hvala na pomoci [ SehaxX @ 07.05.2010. 08:28 ] @
Pozdrav,
Kao sto rekoh ne znam tacno u kojem obliku vraca int odnsono za sto taj int sluzi. U svakom slucaju eksperimentisi malo s ovom, nasao sam jos jednu funkciju koja bi mogla biti rijesenje. Code (csharp): Color c = Color.Green; label3.Text = Convert.ToInt32(c.ToArgb()).ToString(); label4.Text = ColorTranslator.ToWin32(Color.Green).ToString(); U ovom kodu mi se razlikuju vrijednosti u label3 i labal4, najvjerovatnije vraca crno jer je u prvom slucaju vrijednost u minusu -. Dok u drugom ispise neki pozitivan broj. [ mmix @ 07.05.2010. 09:44 ] @
Ako odstampas boje u hex videces razliku, ARGB vrednost ima i alpha kanal koji je postavljen na 255 (pun opaque), da bi Color vrednost pustio u GDI metod koji ne podrzava alpha (COLORREF ne podrzava alpha) moras da stripujes prvih 8 bita
Code (csharp): SetTextColor(hdc, Color.Red.ToArgb() & 0xFFFFFF); To inace i radi ColorTranslator.ToWin32(Color) [ Bokacio @ 07.05.2010. 21:23 ] @
Hvala na pomoci,
Sledeci kod radi: Code: Windows.SetTextColor(hdc, (uint)ColorTranslator.ToWin32(TextColor)); Hvala jos jednom na pomoci, Pozdrav Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|