1

我正在研究一個應用程序(適用於iOS和Android),我需要允許用戶從圖庫中選擇照片並通過在圖像上繪製來包圍某個項目。只要用戶完成繪圖,系統會提示他們彈出該項目的名稱。命名後,項目添加到項目表中,箭頭自動連接圓圈和項目。照片和項目都有單獨的表格。靜態和動態繪圖/鈦畫

我使用Ti.Paint進行繪製,但它只支持通過手指進行動態(手動)繪製。此模塊沒有任何方法以編程方式繪製線條,圓形等形狀。它也不提供觸摸事件,所以我無法檢測到用戶何時停止繪圖。然後我使用了Ti.Canvas,但它只支持靜態繪製,即用戶不能動態繪製手指,而且它只支持iOS。我在2天內嘗試了很多觸摸事件來做到這一點無濟於事。這裏是我使用Ti.Canvas進行觸摸繪圖的代碼:

 canvas.addEventListener('touchstart',function(e) { 
      canvas.begin(); 
      canvas.beginPath(); 
      canvas.moveTo(e.x,e.y); 
     }) 

     canvas.addEventListener('touchmove',function(e) { 
      canvas.lineTo(e.x,e.y); 
      canvas.stroke(); 
     }) 

     canvas.addEventListener('touchend',function(e) { 
      canvas.commit(); 
     }) 

但是不幸的是,這是行不通的。有人可以告訴我該如何解決這個問題。是否存在一些支持靜態(編程)和手動(通過觸摸)繪圖的模塊或庫。我會非常感激。謝謝。

回答

0

我知道我有一個使用touchend的例子。在這個例子中,IOS和Android都可能無法運行相同的代碼,它有一個示例。 http://developer.appcelerator.com/blog/2010/05/building-an-advanced-transaction-ui-with-titanium.html

Ti.Paint模塊的源代碼可用,您可以添加所需的功能。 https://github.com/appcelerator/titanium_modules/tree/master/paint

如果你不想沿着這條路走下去,有一個帆布模塊可以讓你創建線條,儘管我沒有測試過它。這似乎是IOS特定的。 https://github.com/appcelerator/titanium_modules/tree/master/canvas/mobile/ios

對於Android,它看起來像是一個模塊。 https://marketplace.appcelerator.com/apps/5941?494596078

所以你有一些選擇,看看。

+0

哪個模塊更適合以下...我想用三個連接線和觸摸事件的方塊進行控制,可以改變iOS/Android的位置和形狀。它沒有繪製控制在用戶繪製..只是改變形狀。 – JRC