Переключение на Главную Страницу Страницы: 1 [2] 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Узор и его цвет в области таблицы (число прочтений - 15418 )
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Узор и его цвет в области таблицы
Ответ #15 - 31. Октября 2007 :: 14:07
Печать  
varelchik писал(а) 31. Октября 2007 :: 14:02:
Так что ж тоди из этого выходит?
Что можно через МенеджерТаблиц  можно иметь нормальную цветовую палитру у Таблицы?
Я правильно понял?

нормальную или нет - это относительно, но то что нормальнее это точно.
  

1&&2&&3
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узор и его цвет в области таблицы
Ответ #16 - 31. Октября 2007 :: 20:00
Печать  
trad писал(а) 31. Октября 2007 :: 13:37:
Кстати с цветами нас тоже "прокатили".
Как известно под цвет (а точнее его индекс) ячейки mxl отведен 1 байт, но доступны для установки только первые 56 значений.
Если воспользоваться остальными (256-56) значениями, то картина будет такая

А вот это совсем пипец. Тут корячишся, стараешся из ограниченного количества цветов состряпать ченить, оказывается есть возможности. В каком формате картинку сохранял? Пипеткой в паинтере цвета насчупать можно по этой картинке для получения РГБ?
  
Наверх
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Узор и его цвет в области таблицы
Ответ #17 - 31. Октября 2007 :: 20:56
Печать  
trad писал(а) 31. Октября 2007 :: 13:37:
Кстати с цветами нас тоже "прокатили".
Как известно под цвет (а точнее его индекс) ячейки mxl отведен 1 байт, но доступны для установки только первые 56 значений.
Если воспользоваться остальными (256-56) значениями, то картина будет такая

Хорошо, что ты эту таблицу придумал опубликовать.

У меня давно уже в нужных местах цвета задаются явно:
Цитата:
     _таб =СоздатьОбъект("Таблица");
     _секц =_таб.ПолучитьСекцию("Строка|Колонка");
     _обл =_секц.Область(1, 1, 1, 1);
     _обл.ЦветФона(13498101);
     _таб.ВывестиСекцию(_секц);
     _таб.Показать();

Это прекрасно работает.
Но меня не озарила идея эту таблицу цветов где-нибудь сохранить для справки.

А без этого не всегда понятна логика одинэсной функции, не помню название, но что-то типа "сделать обрезание нормальному цвету до 256 доступных и всерьез цветов из наших убогих ночных фантазий".

Эх. Если бы была возможность изменения палитры этих 256 цветов.
Но, боюсь, это из области фантастики, ибо подозреваю, что сохранение палитры не предусмотрено в механизме сериализации...
  

De quelle planète es-tu?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Узор и его цвет в области таблицы
Ответ #18 - 01. Ноября 2007 :: 05:03
Печать  
trdm писал(а) 31. Октября 2007 :: 20:00:
В каком формате картинку сохранял?
Затрудняюсь качественно ответить. Принтскрин - паинт - сохранить как png. Но цвета не искажены.
Цитата:
Пипеткой в паинтере цвета насчупать можно по этой картинке для получения РГБ?
Я rgb этих цветов смотрел восьмерошной пипеткой.
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Узор и его цвет в области таблицы
Ответ #19 - 01. Ноября 2007 :: 05:06
Печать  
kms писал(а) 31. Октября 2007 :: 20:56:
У меня давно уже в нужных местах цвета задаются явно:
Цитата:
     _обл.ЦветФона(13498101);

Это прекрасно работает.

Работает, но какое бы значение не передавал, все равно ограничен набором из 56
  

1&&2&&3
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Узор и его цвет в области таблицы
Ответ #20 - 01. Ноября 2007 :: 08:32
Печать  
trad писал(а) 01. Ноября 2007 :: 05:03:
trdm писал(а) 31. Октября 2007 :: 20:00:
В каком формате картинку сохранял?
Затрудняюсь качественно ответить. Принтскрин - паинт - сохранить как png. Но цвета не искажены.
Цитата:
Пипеткой в паинтере цвета насчупать можно по этой картинке для получения РГБ?
Я rgb этих цветов смотрел восьмерошной пипеткой.


Лучше бы на GetStandardColor(int) посмотрел. Улыбка
Эту стандартную поллитру можно, кстати, и поменять - даже интересно, что получится.

Цитата:
Работает, но какое бы значение не передавал, все равно ограничен набором из 56

Выходит, я был о GetNearestStandardColorIndex лучшего мнения.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Узор и его цвет в области таблицы
Ответ #21 - 01. Ноября 2007 :: 08:36
Печать  
trad писал(а) 01. Ноября 2007 :: 05:03:
Выходит, я был о GetNearestStandardColorIndex() лучшего мнения.

Точнее, не так.

GetNearestStandardColorIndex(), скорее всего, не причем.
Просто из мокселя его вызывают с параметром обрезки в 56 цветов.
С чем связано - не знаю, видимо какие-то личные проблемы разработчиков мокселя.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Узор и его цвет в области таблицы
Ответ #22 - 01. Ноября 2007 :: 08:43
Печать  
kms писал(а) 01. Ноября 2007 :: 08:32:
trad писал(а) 01. Ноября 2007 :: 05:03:
trdm писал(а) 31. Октября 2007 :: 20:00:
В каком формате картинку сохранял?
Затрудняюсь качественно ответить. Принтскрин - паинт - сохранить как png. Но цвета не искажены.
Цитата:
Пипеткой в паинтере цвета насчупать можно по этой картинке для получения РГБ?
Я rgb этих цветов смотрел восьмерошной пипеткой.


Лучше бы на GetStandardColor(int) посмотрел. Улыбка

с какой целью? (вроде палитра как палитра)
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Узор и его цвет в области таблицы
Ответ #23 - 01. Ноября 2007 :: 08:47
Печать  
kms писал(а) 01. Ноября 2007 :: 08:36:
trad писал(а) 01. Ноября 2007 :: 05:03:
Выходит, я был о GetNearestStandardColorIndex() лучшего мнения.

Точнее, не так.

GetNearestStandardColorIndex(), скорее всего, не причем.
Просто из мокселя его вызывают с параметром обрезки в 56 цветов.
С чем связано - не знаю, видимо какие-то личные проблемы разработчиков мокселя.

да, все так и есть
сделал методы
     {"ЦветУзораРасш", "PatternColorExt", TRUE, 3},
     {"ЦветФонаРасш", "BackgroundColorExt", TRUE, 3},
     {"ЦветРамкиРасш", "BorderColorExt", TRUE, 3},
     {"ЦветТекстаРасш", "TextColorExt", TRUE, 3},
     
     {"ЦветУзораПоИндексу", "PatternColorByIndex", TRUE, 1},
     {"ЦветФонаПоИндексу", "BackgroundColorByIndex", TRUE, 1},
     {"ЦветРамкиПоИндексу", "BorderColorByIndex", TRUE, 1},
     {"ЦветТекстаПоИндексу", "TextColorByIndex", TRUE, 1}

те которые Цвет...Расш - вызывают GetNearestStandardColorIndex с глубиной палитры 256
те которые Цвет...ПоИндексу - просто устанавливают цвет по номеру из палитры от 0 до 255
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Узор и его цвет в области таблицы
Ответ #24 - 01. Ноября 2007 :: 08:50
Печать  
текущий вариант ВК тут
http://www.1cpp.ru/forum/YaBB.pl?num=1177688915
« Последняя редакция: 25. Апреля 2013 :: 06:20 - trad »  

1&&2&&3
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Узор и его цвет в области таблицы
Ответ #25 - 01. Ноября 2007 :: 08:56
Печать  
Круто.
Особенно радует возможность установки по индексу, когда смотришь на алгоритм приведения к стандартной палитре.

Палитру бы теперь позаменять. Круглые глаза
  

De quelle planète es-tu?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Узор и его цвет в области таблицы
Ответ #26 - 01. Ноября 2007 :: 09:05
Печать  
пока нет доки, пользоваться так:

Код
Выбрать все
Таб=СоздатьОбъект("Таблица");

Менеджер=СоздатьОбъект("МенеджерТабличногоДокумента");
Менеджер.УстановитьТаблицу(Таб);
Область=Менеджер.Область(1,1); //ОбластьТаблицы
Область.Узор(10);

Таб.Показать(); 



ОбластьТаблицы полученная чарез менеджер - это штатная область таблицы расширенная методами:

Узор/Pattern(<Узор>) - устанавливает узор, возвращает узор до вызова. Параметр необязателен.

ЦветУзора/PatternColor(<Цвет>) - устанавливает цвет узора, возвращает цвет узора до вызова. Параметр необязателен.
ЦветУзора/PatternColor(<R>,<G>,<B>) - устанавливает цвет узора покомпонентно, возвращает цвет узора до вызова. Параметры необязателен.

ЦветУзораРасш/PatternColorExt(<Цвет>) - устанавливает цвет узора, возвращает цвет узора до вызова. Параметр необязателен.
ЦветУзораРасш/PatternColorExt(<R>,<G>,<B>) - устанавливает цвет узора покомпонентно, возвращает цвет узора до вызова. Параметры необязателен.
     
ЦветФонаРасш/BackgroundColorExt(<Цвет>) - тоже для фона
ЦветФонаРасш/BackgroundColorExt(<R>,<G>,<B>) - тоже для фона

ЦветРамкиРасш/BorderColorExt(<Цвет>) - тоже для рамки
ЦветРамкиРасш/BorderColorExt(<R>,<G>,<B>) - тоже для рамки

ЦветТекстаРасш/TextColorExt(<Цвет>) - тоже для текста
ЦветТекстаРасш/TextColorExt(<R>,<G>,<B>) - тоже для текста

ЦветУзораПоИндексу/PatternColorByIndex(<Индекс цвета в палитре>) - устанавливает цвет узора по индексу в палитре (0-255). Возвращает индекс в палитре до вызова. Параметр не обязателен.

ЦветФонаПоИндексу/BackgroundColorByIndex(<Индекс цвета в палитре>) - тоже для фона

ЦветРамкиПоИндексу/BorderColorByIndex(<Индекс цвета в палитре>) - тоже для рамки

ЦветТекстаПоИндексу/TextColorByIndex(<Индекс цвета в палитре>) - тоже для текста

Изменено:
те которые Цвет...Расш - вызывают GetNearestStandardColorIndex с глубиной палитры 256
те которые Цвет...ПоИндексу - просто устанавливают цвет по номеру из палитры от 0 до 255
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Узор и его цвет в области таблицы
Ответ #27 - 01. Ноября 2007 :: 09:08
Печать  
kms писал(а) 01. Ноября 2007 :: 08:56:
Палитру бы теперь позаменять. Круглые глаза

дык палитра же статическая - смена повлияет на все.
  

1&&2&&3
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Узор и его цвет в области таблицы
Ответ #28 - 01. Ноября 2007 :: 09:17
Печать  
trad писал(а) 01. Ноября 2007 :: 09:08:
дык палитра же статическая - смена повлияет на все.

Да я-то понимаю, к чему это приведет.

Плюсы:
1. один раз подобрав палитру, можно использовать нормальные цвета.
2. скорее всего, выгрузка в excel также будет проходить нормально

Минусы:
1. чужие MXL будут отображаться некорректно
2. наши MXL у чужих будут отображаться некорректно
3. оптимизировав скорость вывода через XXXпоИндексу, модифицировать палитру будет затруднительно

Вот лично для меня:
А. Эта палитра, по моему предположению, нигде больше не используется, поэтому сама замена безопасна с точки зрения движка.
Б. У меня нет чужих, только свои - все будут использовать правильную палитру.

Короче, возможность выбора - лучше, чем ее отсутствие.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Узор и его цвет в области таблицы
Ответ #29 - 01. Ноября 2007 :: 09:21
Печать  
Опс.
А че такое CColorListBox?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 
ОтправитьПечать