![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| Teos |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
Это значительно упростит работу с изображением. Помогите пожалуйста.
|
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Ты говоришь о System.Drawing.Color? Просто приведи тип.
|
|||
|
||||
| Teos |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
А как сделать обратное преобразование?
|
|||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 2 Всего: 15 |
Очень-очень давно делал так. Сейчас может и не сработать, потому что при прямом преобразовании иногда получаются отрицательные числа.
Получаем остаток этого int от деления на 256. По-моему это альфа компонента. Потом делим это число на 256. Следующий остаток - r. Повторяем операцию для получения g, b. Т.е. раньше прямое преобразование было равносильно переводу из 256-ричной системы счисления в 10-ичную. А обратное наоборот. В общем раньше я узнал это методом научного тыка. И сейчас можно поэкспериментировать. Попробуй переводить color в int при малых значения a,r,g,b. Может увидишь закономерность. Если будет время, то я тоже попробую. -------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 5 Всего: 149 |
P.S. Cint() для колора не катит |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Ага, точно. Всё не мог вспомнить, как звать эти методы
|
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 5 Всего: 149 |
||||
|
||||
| DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
А можно использовать и ColorTranslator класс
Exception не ругайся за RGB, просто быстрее пишется чем ToArgb() Между прочим через этот статический класс можно также перевести цвета в HEX(html), и олешный integer (Ole). Вообщем туда, и обратно конветит 3 типа: WIN32, HTML, OLE. |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Ага, и правильно делают. Действительно, некорректно пытаться привести тип перечисления к Integer. Нужно воспользоваться методами класса Convert (Convert.ToInt32(), Convert.ToInt16(), Convert.ToByte()).
Добавлено @ 16:54 Скажу ещё раз, вызов функций барсика в первую очередь плох тем, что их не получится использовать в С#, например. А решение мне понравилось, казалось бы, как привык ко фреймворку, а всегда находишь в нём что-то новое для себя |
|||
|
||||
| DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Почему не получится? Зайди в References(Solution Explorer), добавь Microsoft Visual Basic .NET Runtime:). И се заработает. Просто VS.NET в проекте VB скрывает этот реферес, а так он вполне функциональный для всех Языков.NET, я даже на C++.NET пользовался ф-циями VB и никаких странностей не наблюдалось. |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Конечно, можно добавить ссылку на эту библиотеку! Но за это порядочные программисты пинают ногами, и я их прекрасно понимаю.
|
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 5 Всего: 149 |
||||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Exception пошёл промывать остатки мозгов
|
|||
|
||||
| DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Я считаю, что настоящий программист, должен не быть порядочным, а должен искать лучшие пути создания своего проекта. И не важно что ты используешь, главное соблюдение правил пользования (т.е. лицензия, и т. д.). А если кто начнет пинаться, тот сам по голове, пяткой может получить. Еще пользователь не смотрит чем, и как была написана прога, он смотрит на интерфэйс(пользовательский), комфорт доступа к функциям проги, эффективность, гибкость, быстродействие(оптимизация). И еще коечто, дайте мне пожайлуста линк на прогу написанную порядочным прогом. Я думаю что все приложение будет построено самостоятельно, без каких либо библиотек, кроме mscorlib естестно. Свой GUI, функции, и т.д. должно быть реализовано пользователем а не Microsoft'ом, либо посторонним пользователем или фирмой. Если кто то пинается за подключения библиотеки VB, пускай покажет что он действительно сможет это сделать!!! |
|||
|
||||
| Exception |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Это неправильный подход. Если ты работаешь один -- да. Если в команде с другими программистами -- изволь писать чистый, красивый, опрятный код. Кстати, именно чистый код является гарантией того, что через пару месяцев ты сможешь понять код проекта.
Сайт http://msdn.microsoft.com/practices полностью посвящён хорошей технике программирования на .NET.
Почему же? Причём тут это?
Я пинаюсь. Просто потому что это нормально реализуется средствами .NET Framework, без библиотек поддержки VB 6. Например, следует использова ToARgb() вместо RGB(), Length вместо Len(), ToString() вместо Str(), Convert.ToInt32() вместо Val(), Substring() вместо Mid() и т.д. Просто потому что программисты C# не захотят и не должны хотеть подключать специальные библиотеки поддержки, придуманные для тех, кто привык к VB и не может свыкнуться с Framework'ом, только чтобы перевести код. Это сообщение отредактировал(а) Exception - 19.9.2006, 21:07 |
||||||||
|
|||||||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |