最近我在一個使用Flex的項目中工作。它是一個照片編輯項目。我使用了畫布,並使用代碼canvas.addChild(image)
在該畫布中拍攝了一張圖片。現在我可以通過使用移動代碼自由移動圖像。圖像在畫布內和畫布外移動。我只想在畫布內移動圖像/孩子,而不是在外面。我怎樣才能做到這一點?如何才能將孩子只在父母內部移動?
0
A
回答
1
有兩種方法可以做到這一點:
- 邊界矩形
- 滾動矩形(或面罩)
假設你的「移動代碼」有點像初始化的Event.ENTER_FRAME處理器onClick,你想使它成爲圖像不能離開父Canvas的邊界。
第一種情況(邊界矩形)將允許您拖動圖像內的圖像,但您將始終能夠看到整個圖像。這是圖像裁剪器的工作原理。
要創建一個邊界矩形,您必須編寫一個相當詳細的方法,但其背後的想法很簡單。只需從畫布中獲取邊界矩形,並且不要讓image.x
低於0並且不要讓image.x + image.width
超出canvas.width
。與高度相同。這裏有一個樣本Image Cropper in Flex(和the source)。看看他們是如何做到的細節。
第二種情況(滾動矩形)可以讓您像this Flex Pan/Zoom Map(此處爲the source)所示的那樣創建更多的像平底鍋一樣的容器。此外,右側的Flex Image Cropper中的大圖像是第二種情況的示例,但它們沒有拖動。這就要求你在畫布上操作scrollRect屬性的位置。 scrollRect
屬性是定義Canvas'「視口」的flash.geom.Rectangle
。然後您更改/更新verticalScrollPosition
和horizontalScrollPosition
屬性,因此它是向後的(與邊界矩形相比)。
我認爲如果您在畫布上將clipAndEnableScrolling
設置爲true,並且在其內部拖動一個子圖像(和image.includeInLayout = true
),它應該剪切圖像以僅顯示在畫布內。但我猜你想要案例1.只要搜索這些屬性,你會發現一些很好的例子在谷歌。
祝你好運,應該是一個有趣的項目。
蘭斯
相關問題
- 1. 在父母的周圍移動孩子
- 2. 我怎樣才能讓一個孩子在其父母內部分化?
- 3. 如何將孩子fxml的父母換成其他父母?
- 4. 孩子總是在父母的頂部
- 5. 使用jQuery UI的可拖動,我怎樣才能在父母的任何地方拖動移動孩子?
- 6. 只選擇一個孩子的父母
- 7. MDI父母孩子
- 8. 如果該孩子的父母有父母,該如何訪問孩子?
- 9. 如何在Native React中的孩子內部調用父功能
- 10. 父母和孩子在Css
- 11. 如何在Rails中建立父母的孩子只有一次
- 12. 我怎樣才能從一個孩子的父母?
- 13. 我怎樣才能溝通父母和孩子在Android的活動
- 14. 跟蹤父母的孩子,或跟蹤孩子的父母?
- 15. 只有當父母沒有額外的孩子時,才能刪除嵌套LI的父母
- 16. Ruby on Rails 3父母和孩子只能找到特定的孩子,與父母
- 17. 當我將孩子從父母移動/複製到另一父母時,如何重新計算顯示?
- 18. 孩子不能呆在父母的div內
- 19. 孩子不能聽父母事件嗎?
- 20. 如何讓特定父母的孩子?
- 21. 如何找出孩子的父母?
- 22. 如何爲父母的孩子ul?
- 23. 如何從父母送模型孩子
- 24. 如何寫尋找父母和孩子
- 25. 如何向孩子保存父母?
- 26. 如何從父母的孩子分配父母的變量?
- 27. CSS - 如何解決只有父母,而不是孩子
- 28. 將父母從孩子的iframe
- 29. 將父母轉換爲孩子
- 30. 孩子 - 父母關係