Android指に沿って滑らかな線を描く方法は?
この例は、Androidで指に沿って滑らかな線を描く方法を示しています。
ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。
ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:tools="https://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentStart="true" android:layout_alignParentEnd="true" android:layout_alignParentTop="true" android:src="@drawable/ic_launcher_foreground" /> </RelativeLayout>
ステップ3 −次のコードをsrc / MainActivity.java
に追加しますimport android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Display;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity implements View.OnTouchListener {
ImageView imageView;
Bitmap bitmap;
Canvas canvas;
Paint paint;
float downX = 0, downY = 0, upX = 0, upY = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = this.findViewById(R.id.imageView);
Display currentDisplay = getWindowManager().getDefaultDisplay();
float dw = currentDisplay.getWidth();
float dh = currentDisplay.getHeight();
bitmap = Bitmap.createBitmap((int) dw, (int) dh,
Bitmap.Config.ARGB_8888);
canvas = new Canvas(bitmap);
paint = new Paint();
paint.setColor(Color.BLACK);
imageView.setImageBitmap(bitmap);
imageView.setOnTouchListener(this);
}
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
downX = event.getX();
downY = event.getY();
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
upX = event.getX();
upY = event.getY();
canvas.drawLine(downX, downY, upX, upY, paint);
imageView.invalidate();
break;
case MotionEvent.ACTION_CANCEL:
break;
default:
break;
}
return true;
}
} ステップ4 −次のコードをandroidManifest.xmlに追加します
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
-
tkinterでマウス座標に沿って線を引く方法は?
マウスの座標に沿って線を引くには、マウスをクリックするたびに座標を取得する関数を作成し、2つの連続する点の間に線を引く必要があります。例を見て、それがどのように行われるかを見てみましょう。 ステップ- tkinterライブラリをインポートし、tkinterフレームのインスタンスを作成します。 ジオメトリを使用してフレームのサイズを設定します メソッド。 ユーザー定義のメソッドを作成するdraw_line 各マウスクリックのx座標とy座標をキャプチャします。次に、 create_line()を使用します 2つの連続する点の間に線を引くCanvasの方法。 マウスの左クリッ
-
Tkinterキャンバスに線を引く方法は?
Tkinter Canvasウィジェットは、図形、オブジェクトの描画、グラフィックや画像の作成など、さまざまな目的に使用できます。キャンバスに線を引くには、 create_line(x、y、x1、y1、** options)を使用できます。 メソッド。 Tkinterでは、単純な線と破線の2種類の線を描くことができます。 dashプロパティを使用して線のタイプを指定できます。 例 # Import the required libraries from tkinter import * # Create an instance of tkinter frame or window win=