в моем приложении mfc dialog, получил CimgDialog, полученный из Cdialog и CimgView, полученных из CScrollView. Использование StretchDIBits для отображения ImgBuf.how для увеличения с помощью CimgDialog :: OnLButtonDown ?. любой код, который работает, образец кода ?. используя мой код масштабирования, он масштабируется до неправильного расположения изображения.не работает должным образом
ответ
Я хотел бы сделать что-то вроде следующего в классе CImgView:
double ZoomFactor = 1.5; // set to required value
CClientDC dc(this);
CSize sz = dc.GetViewportExt();
sz.x = (LONG) ((double) sz.x * ZoomFactor);
sz.y = (LONG) ((double) sz.y * ZoomFactor);
dc.SetViewportExt(sz);
SetViewportExt()
имеет некоторые ограничения - см MSDN Article.
Если вы выполняете вычисления с использованием DC
(например, размера страницы и т. Д.), Может быть лучше поддерживать степень в вашей собственной переменной-члене (например, CSize m_totalDev
), измените это значение, когда вам нужно увеличить масштаб и настроить видовой экран степени в CImgView::OnPrepareDC()
, как
if (pDC->IsPrinting())
// set up ViewPortExt depending on printer page size, fit-to-page, etc
else
pDC->SetViewportExt(m_totalDev);
Это MSDN article дает пример того, как настроить DC во время печати.
Следующие статьи также могут помочь:
, в какой раздел CImgView добавить код выше ?. – user2045525
в том месте, где вы хотите увеличить/уменьшить масштаб - вы также взглянули на статью CodeProject? –
попробовал примеры в ссылках выше, зум все еще не работал. диалог основан на cdialog, а не на cview, это имеет значение. Я использую этот код, который я пытаюсь исправить: http://stackoverflow.com/questions/16493519/how-to-zoom-in-and-out-on-cscrollview-surface – user2045525
- 1. : не работает должным образом
- 2. не работает должным образом
- 3. не работает должным образом
- 4. session_reset() не работает должным образом
- 5. wakelock не работает должным образом
- 6. memcache не работает должным образом
- 7. JsonResponse не работает должным образом
- 8. Mouseover не работает должным образом
- 9. Toast не работает должным образом
- 10. "break" не работает должным образом
- 11. Столкновение() не работает должным образом
- 12. Продолжить не работает должным образом
- 13. UICollectionView не работает должным образом
- 14. Pageindex не работает должным образом
- 15. Drawable не работает должным образом
- 16. Popen.communicate() не работает должным образом
- 17. Fancybox не работает должным образом
- 18. Расчеты Не работает должным образом
- 19. Подменю не работает должным образом
- 20. Генератор не работает должным образом
- 21. MultiSelectionHelper не работает должным образом
- 22. Таймер не работает должным образом
- 23. "Группировка" не работает должным образом
- 24. str_replace не работает должным образом
- 25. Join не работает должным образом
- 26. CUDA не работает должным образом?
- 27. SwingWorker не работает должным образом
- 28. не работает должным образом .load
- 29. Служба не работает должным образом
- 30. TransactionTimeout не работает должным образом
Показать код и объяснить, что не работает, и что вы ожидаете. –
смотреть удар. добавлены комментарии. – user2045525