|
|
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
окрашиваю пикселы на Picture ф-ей SetPixel, но окрашивание пропадает при закрытии Picture другим окном или выводе за экран, подскажите пожалуйста чем можно закрашивать пикселы чтоб закраска непропадала? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 13:39 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
timtim, Picture.AutoRedraw = True, и Picture.Refresh после отрисовки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 13:58 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
В смысле, Picture.AutoRedraw = True - до отрисовки (можно в конструкторе формы). Refresh - после. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 13:59 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
если AutoRedraw=True то тогда вываливается ошибка 480-"Can't create AutoRedraw image" как её побороть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 14:09 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
timtim, никогда не встречал такую ошибку. Судя по обсуждениям, она возникает при недостатке ресурсов, например, очень большой картинке. Почему, кстати, используется SetPixel? Если уж используется API, можно отрисовывать на memory DC, а дальше так или иначе копировать содержимое (или часть) выбранного в нём битмапа в PictureBox. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 14:35 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
картинка действительно большая а нельзяли чуть поподробнее об:"можно отрисовывать на memory DC, а дальше так или иначе копировать" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 14:42 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
timtim, попробую показать, в примитивном варианте. Пусть есть вспомогательный модуль: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 15:50 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
2 Бенедикт премного благодарен Вам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 15:57 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
ещё вопросец вот сдесь: hbmMem = CreateCompatibleBitmap(Picture1.hDC, 2000 , 2000 ) ограничения по ширине и высоте имеются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 16:21 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
Имеются - на уровне ОС. Например, MSDN Library Windows 95/98/Me: The created bitmap cannot exceed 16MB in size.Так что, если битмап нужен очень большой, придётся думать о tiling. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 16:45 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
чето я не совсем врублюсь как мне этот tiling Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 09:16 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
timtim, не вижу постановки задачи. Что есть, что хочется получить? Потратив время на подробное описание, ты его в действительности сэкономишь (и мне тоже). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 10:59 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
всё началось с этого http://]http://www.sql.ru/forum/actualthread.aspx?tid=389775 смысл задачи-хочу сделать типа карты, перевёл географические координаты в пикселы, наношу точки на контрол Picture, но его размеров нехватает вот и незнаю что использовать в качестве "подложки" для нанесения точек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 11:18 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
timtim, да, так понятнее (но сугубо технических параметров не хватает. Каков всё же размер карты? Как она хранится на диске? Сколько может быть объектов, какого типа? Могут быть слои?) Это ж какой-то мини-ГИС получается (класс задач достаточно серьёзный, есть литература, есть народ с опытом). Скорее всего, не имеет смысла держать реальный битмап огромного размера. Нужно уметь определять, какие через viewport (PictureBox) куски (тайлы) видны, и уметь кэшировать их, плюс несколько вокруг видимой части карты (запас на телодвижения пользователя). Нужно уметь видимые куски тайлов отображать в соответствующее место viewport-а. По объектам/слоям лучше спрашивать спецов, но я так понимаю, должен быть (в примитиве) список объектов, какие-то индексы, помогающие определить группу видимых объектов. Нужно уметь эти объекты создавать/удалять, позиционировать, накладывать. И т. д., и т. п. По реализации конкретных (чётко сформулированных ;) ) подзадач помогу, чем смогу. По методологии/структуре - лучше почитать-поспрашивать более компетентных товарищей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 11:58 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
спасибо за ответы, скинул на мыло что у меня имеется, за код непинать, сам знаю что так некодят просто показать чего добился и имеет ли смысл продолжать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 13:54 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
Если честно, в подробности вникать не стал. А может записать отрисовку в событие onPaint? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 14:30 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
timtim, Брутально. Почувствовал себя, как в конце 80-х. :up Раз работает, надо продолжать. Надо подумать, как (пока склоняюсь к предварительной отрисовке в метафайл). Операция масштабирования предусматривается? P.S. Чукотка не отрисовывается из-за того, что к отрицательным долготам надо добавлять 360. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 16:04 |
|
||
|
чем рисовать чтоб не стиралось
|
|||
|---|---|---|---|
|
#18+
масштабирование обязательно будет(оно и щас есть, только оно мне не особо как то нравится, убогое короче) в примере отрисовка общего контура, а так будет гораздо больше точек, типа границы областей и населённые пункты(не все конечно, а те которые нужны) ну и отрисовываться будет радиус от заданной координаты километров 600-1000, хотя общий контур тоже должен присутствовать С отбором, азимутом, удалением(расстоянием) точек друг от друга вроде проблем нет, с визуальной частью, т.е. нанести это всё на какой то полигон - проблема :(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 20:15 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34709412&tid=2163621]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 324ms |

| 0 / 0 |
