Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharp_Graphics.doc
Скачиваний:
20
Добавлен:
16.11.2019
Размер:
3.1 Mб
Скачать

Извлечение связанного с файлом значка в Windows Forms

У многих файлов имеются внедренные значки, которые служат для визуального представления соответствующего типа файла. Например, документы Microsoft Word содержат значок, который указывает на то, что эти файлы являются документами Word. При отображении файлов в таких элементах управления, как список или таблица, может потребоваться поместить рядом с именем файла значок, обозначающий тип этого файла. Для этого достаточно вызвать метод ExtractAssociatedIcon.

Пример

В следующем примере показано, как извлечь связанный с файлом значок и вывести его на экран рядом именем файла в элементе управления ListView.

-------------------

// For each file in the c:\ directory, create a ListViewItem

// and set the icon to the icon extracted from the file.

foreach (FileInfo file in dir.GetFiles())

{

// Set a default icon for the file.

Icon iconForFile = SystemIcons.WinLogo;

item = new ListViewItem(file.Name, 1);

iconForFile = Icon.ExtractAssociatedIcon(file.FullName);

// Check to see if the image collection contains an image

// for this extension, using the extension as a key.

if (!imageList1.Images.ContainsKey(file.Extension))

{

// If not, add the image to the image list.

iconForFile = System.Drawing.Icon.ExtractAssociatedIcon(file.FullName);

imageList1.Images.Add(file.Extension, iconForFile);

}

item.ImageKey = file.Extension;

listView1.Items.Add(item);

}

listView1.EndUpdate();

}

Compiling the Code

To compile the example:

  • Paste the preceding code into a Windows Form, and call the ExtractAssociatedIconExample method from the form's constructor or Load event-handling method.

You will need to make sure that your form imports the System.IO namespace.

-------

Компиляция кода

Чтобы скомпилировать этот пример, выполните следующие действия.

  • Вставьте предыдущий код в форму Windows Form и вызовите метод ExtractAssociatedIconExample из конструктора или метода обработки события формы Load.

Необходимо проверить, что форма импортирует пространство имен System.IO.

Alpha Blending Lines and Fills

In GDI+, a color is a 32-bit value with 8 bits each for alpha, red, green, and blue. The alpha value indicates the transparency of the color — the extent to which the color is blended with the background color. Alpha values range from 0 through 255, where 0 represents a fully transparent color, and 255 represents a fully opaque color.

Alpha blending is a pixel-by-pixel blending of source and background color data. Each of the three components (red, green, blue) of a given source color is blended with the corresponding component of the background color according to the following formula:

displayColor = sourceColor × alpha / 255 + backgroundColor × (255 – alpha) / 255

For example, suppose the red component of the source color is 150 and the red component of the background color is 100. If the alpha value is 200, the red component of the resultant color is calculated as follows:

150 × 200 / 255 + 100 × (255 – 200) / 255 = 139

How to: Draw Opaque and Semitransparent Lines

When you draw a line, you must pass a Pen object to the DrawLine method of the Graphics class. One of the parameters of the Pen constructor is a Color object. To draw an opaque line, set the alpha component of the color to 255. To draw a semitransparent line, set the alpha component to any value from 1 through 254.

When you draw a semitransparent line over a background, the color of the line is blended with the colors of the background. The alpha component specifies how the line and background colors are mixed; alpha values near 0 place more weight on the background colors, and alpha values near 255 place more weight on the line color.