Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Юмор

Страница: 1 | 2 | 3 | 4 | 5 | 6 ..... 47 | 48 | 49 | 50 | 51

 

  Вопрос: эээээ Добавлено: 12.04.05 18:57  

Автор вопроса:  Дмитрий Щапов
1) Что делать? Вот мне надо часто перерисовывать чтото. Как мне быстрее это сделать. Не,как мне нарисованное изображение сохранить в переменную какую нить перем-ую и потом выводить её. В Image,Bitmap не могу найти свойств для рисования на них.
2) Вот в род-ой форме MDI у меня есть кнопка. Как к ней получить доступ? Или I must объявлять переменные в каждой дочерней форме?

  Ответы Всего ответов: 760  

Номер ответа: 1
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #1
Добавлено: 12.04.05 19:04
Кроме всяких X'ов и GL'ев оч быстро рисует функция BitBlt. И просто извиняюсь, не могу определить уровень,не понимаю что тебе точно надо получить. Изображение в матрицу пробывал загружать? выводить парой вложеных циклов?? (довольно медленно) или ты что-то посложнее имел ввиду? Так можно той же Bitblt копировать на другой холст а потом оттуда вернуть. всё же для трансформа изображения имхо нет ничего лучше (и медленнее) чем двухмерного массива :)
Номер ответа: 2
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #2 Добавлено: 12.04.05 19:09
Мне надо: Дано поле, которое не меняется ==> на нем можно сэкономить если нарисовать его 1н раз. и где я проведу мышкой там надо нарисоть пару Ректангов и Эллипсов
Номер ответа: 3
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #3 Добавлено: 12.04.05 19:12
Но эти рэктанги временны, когда мышку уберу они не нужны. Может добавить Пикчур бокс, нарисовать его и его копировать. Но объект это лишнее место(если быть правильным)
Номер ответа: 4
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #4
Добавлено: 12.04.05 19:48
новый паинт делаешь? или стратегию? :-)
Номер ответа: 5
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #5 Добавлено: 12.04.05 19:54
Стратегию. Точнее типа того. Школьная игра есть "Точки" называется(в простонародье). Щас на уроках модно в неё время коротать :))). А так с компом ещё тренероваться буду.

Да делать просто нечего.
Номер ответа: 6
Автор ответа:
 belmes



Вопросов: 6
Ответов: 4
 Профиль | | #6 Добавлено: 12.04.05 20:17
Откуда взять компонент PrintDocument, чтобы напечатать текст в указанном месте? Например, в приведенном ниже коде обработчик событий PrintPage используется для печати строки "SampleText" черным цветом с использованием шрифта Arial, начиная с точки с координатами 150, 125:

Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
   e.Graphics.DrawString("SampleText", New Font("Arial", 80, FontStyle.Bold), Brushes.Black, 150, 125)
End Sub
Номер ответа: 7
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #7 Добавлено: 12.04.05 21:22
Пока все задумались на компонентом для печати я добавлю вопрос: Обязательно надо выгружать всякие Pen'ы Brush'ы перед выходом из функции или они сами того самого...
И что такое? Я рисую на пикчур боксе и как потом нарисованое скопировать на форму. Никак не могу найти такую функцию.
Номер ответа: 8
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #8
Добавлено: 12.04.05 22:04
Имхо все графические операции можно реализовать с помощью нескольких апи, а именно: BitBlt, PlgBlt (Параллелограмм, только WinNT), SetPixel. Арки, эллипсы, тоже реализуется несложно. Кисти заданые по умолчанию подходят в большинстве случаев (мне, остальным не знаю, мне тоже интересно узнать мнение окружающих по этому поводу). Если хочешь создать что-то нестандартное-груза дополнительные браши. а так они.
Номер ответа: 9
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #9
Добавлено: 12.04.05 22:09
Кстати, PlgBlt-классная штука блин, её надо бы поизучать. Она преобразует прямоугольное растровое изображение в паралелограмное. С её помощью (и не без помощи тригонометрии) можно БЕЗ МАЛЕЙШЕГО ТОРМОЗА организовать вращение картинки, практически любой. Может кто нибудь знает как её можно запустить под управлением 98 винды? может какую нить ДЛЛ скопировать?
Номер ответа: 10
Автор ответа:
 someone



Вопросов: 215
Ответов: 1596
 Web-сайт: 123
 Профиль | | #10
Добавлено: 12.04.05 22:21
Павел, лепи череп! За неиформативный сабж!!!
Номер ответа: 11
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #11
Добавлено: 12.04.05 22:37
Павел, лепи череп! За неиформативный сабж!!!

Ага... завидуешь... месть за Кто ищет...
Номер ответа: 12
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #12 Добавлено: 12.04.05 23:46
уууу.. Блиин. На VB6 давно бы уже написал.
Я запарился. Вот Vb.Net так точно NET А я думал что ".NET" означает улучшенную работу с инетом, а оказывается они хотели сказать "Виг вам" мол нифига вы здесь не сможете сделать.
Смотрите: я провожу мышкой и мне надо всё перерисовать. А эти перерисовки будут часто. Чтобы облегчить процессору жизнь я создаю какой-нить пикчур бокс.
PicturePole.CreateGraphics()
рисую фигню всякую
[QUOTE]- И ЧТО?
- ЧТО?
- А НИЧЕГО![/QUOTE]
Me.Graphics.DrawImage [B]PicturePole.Image[/B], который равен NOTHING(переводится наверное "нифига";). И зачем я всё это рисовал? Чтоже это получается? Что жизнь прожита напрасно!?!?

Кстати в API-Gidenе пример по BitBlt в Net приводится DrawImage


Давно хотел спросить что за наказание "Череп"? Отжимания?
Номер ответа: 13
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #13
Добавлено: 12.04.05 23:55
Три черепа=блокировка логина на срок=a*sqr(b*(x-h))+k где a,b,x,h и k известны только администраторам (joke)
Номер ответа: 14
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #14 Добавлено: 12.04.05 23:56
Создай DC в памяти, нарисуй там что хочешь, и держи в переменной его. Когда надо перебросить на экран, копируешь его в тот hDC, который нужно обновить.
CreateCompatibleDC, CreateCompatibleBitmap, BitBlt - это всё, что тебе нужно.
Рисуешь основное поле. Когда нужно мышой дорисовать что-то, копируешь это основное поле в промежуточный memory DC, чтобы не портить основное поле, дорисовываешь свои мышиные каракули и вывод на экран.

Созданные кисти, перья и всякие другие объекты GDI необходимо удалять. Теоретически система удалит их после закрытия программы. Но на практике, если такого хлама на момент закрытия проги скопилось много, он так и останется в памяти, вызывая всякие черные прямоугольники на экране, либо коверкая шрифты, либо искажая менюшки по всей системе.
Номер ответа: 15
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #15
Добавлено: 12.04.05 23:57
BitBlt в Net приводится DrawImage

Да вообще в этом .NET всё через выход (или вход?) в прямую кишку :) Хотя полезные вещи (с%зд#ные из Delphi) там есь

Страница: 1 | 2 | 3 | 4 | 5 | 6 ..... 47 | 48 | 49 | 50 | 51

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам