|
|
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
Привет всем Срочно нужен ответ на вопрос по C++ Builder 6. Разбипаться нет времени так как сроки сдачи дип. поджимают У меня есть форма. В нее записнул PaintBox Рисую в него из другого класс через Form1->PaintBox1->Canvas 1)Как мне сделать так чтобы картинка PaintBox сохранялась и перерисовывалась при высове метода Paint из класса формы 2) как сделать так чтобы размеры картинки в PaintBox можно было менять, то есть мне нужно запихнуть туда Canvas большего размера без маштабирования и иметь возможность просмотреть его при помощи ScrollBar ЗАРАНЕЕ СПАСИБО ЗА ПОМОЩЬ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2005, 18:18 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
Ответ на 1й вопрос в виде примера Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2005, 18:46 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
Пример простой - загружаем с клипборда изображение в битмап. В событии формы OnPaint необходимо заняться перерисовкой. К стати в этом случае PaintBox вообще не обязательно использовать. Если такая необходимость все же возникает (что предположим понятно) то вместо Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2005, 18:54 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ, но остался вопрос... Так как я рисую из другого класса, т.е. есть некий метод Из которого, я предположим рисую линии void Project::Draw(){ Form1-> PaintBox -> Canvas -> LineTo(); } мне необходимо сохранить эту нарисованную картинку и перерисовывать ее из метода Paint формы Не пойму как эту картинку в Clipboard запихнуть, а потом вытащить Буду рад если поможете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 00:35 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
Клипборд - это был только пример. Можно вызывать из OnPaint эту функцию (Progect::Draw) напрямую. Нужно только предусмотреть два момента: 1) OnPaint работает и в момент инициализации формы, т.е. нужно по всей видимости это обработать дополнительно 2) Перерисовывать изображение нужно целиком К стати, почему PaintBox, а не Image? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 01:02 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
потому что я рисую свою графику... Если TImage можно для этого использовать, то подскажи плиз как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 01:09 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
В смысле? Да точно так же... Form1->Image1->Canvas->LineTo и поехали... =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 01:54 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
А в чем тогда прикол? Чем TImage по твоему лучше? У него методов больше или что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 05:07 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
Не надо TImage (ИМХО), достаточно TBitmap + TPaintBox, лежащий на TScrollBox. Рисуешь свои картинки на канвасе бимапа, паинтишь этот битмап на паинтбоксе в событии OnPaint Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 07:04 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
2Карабас а ты мог бы кодом написать для чайников?)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2005, 22:24 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
Kirill Mа ты мог бы кодом написать для чайников?))))каким еще кодом ? вот таким ? Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 07:00 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
Смотри что у меня Делаю форму, запихиваю в нее ScrollBox, в него PaintBox. Далее добавляю в определение класса формы Bitmap class TForm1 : public TForm { ...... public: // User declarations ...... Graphics::TBitmap *Bitmap; ..... }; Далее В конструкторе формы инициализирую bitmap __fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner){ Bitmap = new Graphics::TBitmap; } Далее как ты и говорил рисую на канву битмапа из другого класса void Project::Draw(){ Form1->Bitmap->Canvas->LineTo(x, y); //сначала рисую канву отсюда Form1->PaintBox1->Canvas->Draw(0,0, Form1->Bitmap); } Не появляется...Почему? void __fastcall TForm1::Paint(TObject *Sender){ PaintBox1->Canvas->Draw(0,0, Bitmap); } При вызове Paint тоже не появляется Если Paint закоментировать все равно не рисуется Где и что у меня не правильно? Если есть возможность пиши в аську 233971135 Мне надо срочняком с этим разорбраться(((( Заранее спасибо за ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 09:26 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
Читай внимательно пример, который я тебе сбросил, и еще: когда хочешь, чтобы отобразилось нарисованное, вызывай тот метод, где копируется на PaintBox Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 09:30 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
Ты про то что для PaintBox свой метод Paint....? TMainForm::PaintBox1Paint Ок..поробую в обед ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 09:33 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
2Карабас 1)Что ты имел ввиду? ....вызывай тот метод, где копируется на PaintBox 2) С отображением все равно не получается...Когда использую битмап и русую на его канву, потом копирую размеры канвы Bitmap в размеры Painbox Form1->PaintBox1 -> Width = Form1-> Bitmap -> Width ... Далее Form1 -> PaintBox1-> Draw(0,0, Form1-> Bitmap) Нет изображения в PaintBox'е ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 10:37 |
|
||
|
Использование PaintBox
|
|||
|---|---|---|---|
|
#18+
вот такой код работает 100% Код: 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. 51. 52. 53. 54. 55. 56. 57. 58. 59. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 10:41 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33418614&tid=2032336]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
10ms |
get forum data: |
5ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 323ms |

| 0 / 0 |
