日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Bitmap2

發(fā)布時(shí)間:2023/12/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Bitmap2 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

畫布

public class MainActivity extends Activity {

?@Override

?protected void onCreate(Bundle savedInstanceState) {

? super.onCreate(savedInstanceState);

? setContentView(R.layout.activity_main);

? ImageView iv = (ImageView) this.findViewById(R.id.iv);

? // 獲取一張背景圖片

? Bitmap bitmap = BitmapFactory

? ? .decodeFile("mnt/sdcard/DCIM/Camera/IMG_20131121_162239.jpg");

? // 創(chuàng)建一張空白圖片

? Bitmap blankBitmap = Bitmap.createBitmap(bitmap.getWidth(),

? ? bitmap.getHeight(), Bitmap.Config.RGB_565);

? // 創(chuàng)建一個(gè)畫布

? Canvas canvas = new Canvas(blankBitmap);

? // 在畫布上畫上背景圖

? canvas.drawBitmap(bitmap, new Matrix(), new Paint());

? // 創(chuàng)建一只畫筆

? Paint paint = new Paint();

? paint.setTextSize(200);

? paint.setColor(Color.RED);

? // 在畫布上添加文字

? canvas.drawText("偉哥威武!!", 260, 260, paint);

? iv.setImageBitmap(blankBitmap);

?}

?

}

圖片畫畫板

public class MainActivity extends Activity {

?private ImageView iv;

?private Bitmap baseBitmap;

?private Canvas canvas;

?private Paint paint;

?

?@Override

?protected void onCreate(Bundle savedInstanceState) {

? super.onCreate(savedInstanceState);

? setContentView(R.layout.activity_main);

? this.iv = (ImageView) this.findViewById(R.id.iv);

? // 創(chuàng)建一張空白圖片

? baseBitmap = Bitmap.createBitmap(480, 640, Bitmap.Config.ARGB_8888);

? // 創(chuàng)建一張畫布

? canvas = new Canvas(baseBitmap);

? // 畫布背景為灰色

? canvas.drawColor(Color.GRAY);

? // 創(chuàng)建畫筆

? paint = new Paint();

? // 畫筆顏色為紅色

? paint.setColor(Color.RED);

? // 寬度5個(gè)像素

? paint.setStrokeWidth(5);

? iv.setOnTouchListener(new OnTouchListener() {

? ?int startX;

? ?int startY;

?

? ?@Override

? ?public boolean onTouch(View v, MotionEvent event) {

? ? switch (event.getAction()) {

? ? case MotionEvent.ACTION_DOWN:

? ? ?// 獲取手按下時(shí)的坐標(biāo)

? ? ?startX = (int) event.getX();

? ? ?startY = (int) event.getY();

? ? ?break;

? ? case MotionEvent.ACTION_MOVE:

? ? ?// 獲取手移動(dòng)后的坐標(biāo)

? ? ?int stopX = (int) event.getX();

? ? ?int stopY = (int) event.getY();

? ? ?// 在開始和結(jié)束坐標(biāo)間畫一條線

? ? ?canvas.drawLine(startX, startY, stopX, stopY, paint);

? ? ?// 實(shí)時(shí)更新開始坐標(biāo)

? ? ?startX = (int) event.getX();

? ? ?startY = (int) event.getY();

? ? ?iv.setImageBitmap(baseBitmap);

? ? ?break;

? ? }

? ? return true;

? ?}

? });

?}

?

?public void save(View view) {

? try {

? ?File file = new File(Environment.getExternalStorageDirectory(),

? ? ?System.currentTimeMillis() + ".jpg");

? ?OutputStream stream = new FileOutputStream(file);

? ?baseBitmap.compress(CompressFormat.JPEG, 100, stream);

? ?stream.close();

? ?// 模擬一個(gè)廣播,通知系統(tǒng)sdcard被掛載

? ?Intent intent = new Intent();

? ?intent.setAction(Intent.ACTION_MEDIA_MOUNTED);

? ?intent.setData(Uri.fromFile(Environment

? ? ?.getExternalStorageDirectory()));

? ?sendBroadcast(intent);

?

? ?Toast.makeText(this, "保存圖片成功", 0).show();

? } catch (Exception e) {

? ?Toast.makeText(this, "保存圖片失敗", 0).show();

? ?e.printStackTrace();

? }

?}

?

}

?

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

扒掉人物衣服

public class MainActivity extends Activity {

?private ImageView iv_after;

?private ImageView iv_before;

?private Bitmap beforeBitmap;

?private Canvas canvas;

?

?@Override

?protected void onCreate(Bundle savedInstanceState) {

? super.onCreate(savedInstanceState);

? setContentView(R.layout.activity_main);

? this.iv_after = (ImageView) this.findViewById(R.id.after);

? this.iv_before = (ImageView) this.findViewById(R.id.before);

?

? // decodeResource()創(chuàng)建出來的圖片屬性為只讀

? Bitmap after = BitmapFactory.decodeResource(getResources(),

? ? R.drawable.after);

? Bitmap before = BitmapFactory.decodeResource(getResources(),

? ? R.drawable.before);

?

? // 創(chuàng)建一張可編輯的空白圖片

? this.beforeBitmap = Bitmap.createBitmap(before.getWidth(),

? ? before.getHeight(), before.getConfig());

?

? this.canvas = new Canvas(beforeBitmap);

? this.canvas.drawBitmap(before, new Matrix(), new Paint());

?

? this.iv_after.setImageBitmap(after);

? this.iv_before.setImageBitmap(beforeBitmap);

?

? this.iv_before.setOnTouchListener(new OnTouchListener() {

?

? ?@Override

? ?public boolean onTouch(View v, MotionEvent event) {

? ? switch (event.getAction()) {

? ? case MotionEvent.ACTION_MOVE:

?

? ? ?int x = (int) event.getX();

? ? ?int y = (int) event.getY();

? ? ?for (int i = -18; i <= 18; i++) {

? ? ? for (int j = -18; j <= 18; j++) {

? ? ? ?if (x + i >= 0 && y + j >= 0

? ? ? ? ?&& x + i < beforeBitmap.getWidth()

? ? ? ? ?&& y + j < beforeBitmap.getHeight()) {

? ? ? ? beforeBitmap.setPixel(x + i, y + j,

? ? ? ? ? Color.TRANSPARENT);

?

? ? ? ?}

?

? ? ? }

? ? ?}

? ? ?iv_before.setImageBitmap(beforeBitmap);

?

? ? ?break;

?

? ? }

? ? return true;

? ?}

? });

?

?}

?

}

?

?

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

? ? xmlns:tools="http://schemas.android.com/tools"

? ? android:layout_width="match_parent"

? ? android:layout_height="match_parent"

? ? tools:context=".MainActivity" >

?

? ? <ImageView

? ? ? ? android:id="@+id/after"

? ? ? ? android:layout_width="wrap_content"

? ? ? ? android:layout_height="wrap_content"

? ? ? ? />

?

? ? <ImageView

? ? ? ? android:id="@+id/before"

? ? ? ? android:layout_width="wrap_content"

? ? ? ? android:layout_height="wrap_content"

? ? ? ? />

?

</FrameLayout>

?

轉(zhuǎn)載于:https://www.cnblogs.com/freenovo/archive/2013/03/28/4469817.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的Bitmap2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。