最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android編程實(shí)現(xiàn)只顯示圖片一部分的方法

 更新時(shí)間:2016年10月29日 11:58:29   作者:pku_android  
這篇文章主要介紹了Android編程實(shí)現(xiàn)只顯示圖片一部分的方法,涉及Android針對(duì)圖片的局部顯示操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Android編程實(shí)現(xiàn)只顯示圖片一部分的方法。分享給大家供大家參考,具體如下:

在Android應(yīng)用程序中加載一張圖片,然后把它顯示出來這是一件非常容易的事情,那怎么才能顯示一張圖片的一小部分呢,一種做法是把圖片ps一下,要顯示的那部分單獨(dú)存成一張圖片,然后程序中加載它,并把它顯示出來。但這樣會(huì)增加程序的圖片量。對(duì)一張完整的圖,用程序去切割你想要的那部分也是很簡單的。

下面實(shí)現(xiàn)的一個(gè)程序,是加載了一張圖片,然后經(jīng)過變換讓圖片填充到手機(jī)的整個(gè)屏幕,然后在屏幕的中間顯示圖片中間的100*100的部分。

ShowPoritionPictureActivity代碼:

package com.iwin.zzs;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.WindowManager;
public class ShowPoritionPictureActivity extends Activity {
  /** Called when the activity is first created. */
  Bitmap picRes;
  Bitmap showPic;
  //獲取原圖片的寬和高
  int picWidth;
  int picHeight;
  private PoritionView poritonView = null;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    // 不顯示狀態(tài)欄
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    DisplayMetrics dm = new DisplayMetrics();
    this.getWindowManager().getDefaultDisplay().getMetrics(dm);
    // 得到屏幕的長和寬
    int screenWidth = dm.widthPixels; //水平分辨率
    int screenHeight = dm.heightPixels; //垂直分辨率
    picRes = BitmapFactory.decodeResource(this.getResources(), R.drawable.girl);
    // 得到圖片的長和寬
    picWidth = picRes.getWidth();
    picHeight = picRes.getHeight();
    // 計(jì)算縮放率,新尺寸除原始尺寸
    float scaleWidth = ((float) screenWidth ) / picWidth;
    float scaleHeight = ((float) screenHeight ) / picHeight;
    // 創(chuàng)建操作圖片用的matrix對(duì)象
    Matrix matrix = new Matrix();
    // 縮放圖片動(dòng)作
    matrix.postScale(scaleWidth, scaleHeight);
    // 新得到的圖片是原圖片經(jīng)過變換填充到整個(gè)屏幕的圖片
    Bitmap picNewRes = Bitmap.createBitmap(picRes, 0, 0,picWidth, picHeight, matrix, true);
    // bitmap = Bitmap.createBitmap(400, 480, Bitmap.Config.ARGB_8888);
    // canvas=new Canvas();
    // canvas.setBitmap(bitmap);
    showPic = Bitmap.createBitmap(picNewRes, screenWidth/2-50, screenHeight/2-50, 100, 100);
    poritonView = new PoritionView(this);
    poritonView.setBitmapShow(showPic, screenWidth/2-50, screenHeight/2-50);
    setContentView(poritonView);
}

新建PoritionView類代碼:

package com.iwin.zzs;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.view.View;
public class PoritionView extends View {
  private Bitmap showPic = null;
  private int startX = 0;
  private int startY = 0;
  public PoritionView(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
  }
  @Override
  protected void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.onDraw(canvas);
    canvas.drawBitmap(showPic, startX, startY, null);
  }
  public void setBitmapShow(Bitmap b, int x, int y)
  {
    showPic = b;
    startX = x;
    startY = y;
  }
}

在工程res/drawable里面添加圖片gir.png,運(yùn)行程序的效果是只顯示圖片的中間100*100的那部分圖片。

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android圖形與圖像處理技巧總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • android使用SharedPreferences進(jìn)行數(shù)據(jù)存儲(chǔ)

    android使用SharedPreferences進(jìn)行數(shù)據(jù)存儲(chǔ)

    Android平臺(tái)給我們提供了一個(gè)SharedPreferences類,它是一個(gè)輕量級(jí)的存儲(chǔ)類,特別適合用于保存軟件配置參數(shù)。有興趣的可以了解一下。
    2017-02-02
  • android開發(fā)教程之實(shí)現(xiàn)toast工具類

    android開發(fā)教程之實(shí)現(xiàn)toast工具類

    這篇文章主要介紹了android開發(fā)中需要的toast工具類,需要的朋友可以參考下
    2014-05-05
  • Android中實(shí)現(xiàn)長按修改ListView對(duì)象的內(nèi)容

    Android中實(shí)現(xiàn)長按修改ListView對(duì)象的內(nèi)容

    這篇文章主要給大家介紹了在Android中實(shí)現(xiàn)長按修改ListView對(duì)象內(nèi)容的相關(guān)資料,文中給出了完整的示例代碼,相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。
    2017-02-02
  • Android實(shí)現(xiàn)底部導(dǎo)航欄效果

    Android實(shí)現(xiàn)底部導(dǎo)航欄效果

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)底部導(dǎo)航欄效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 利用Android畫圓弧canvas.drawArc()實(shí)例詳解

    利用Android畫圓弧canvas.drawArc()實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于利用Android畫圓弧canvas.drawArc()的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的理解和學(xué)習(xí)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • Android RecyclerView添加頭部和底部的方法

    Android RecyclerView添加頭部和底部的方法

    這篇文章主要為大家詳細(xì)介紹了Android RecyclerView添加頭部和底部的方法,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android實(shí)現(xiàn)邊錄邊播功能

    Android實(shí)現(xiàn)邊錄邊播功能

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)邊錄邊播功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Android仿QQ、微信聊天界面長按提示框效果

    Android仿QQ、微信聊天界面長按提示框效果

    最近在工作項(xiàng)目中要實(shí)現(xiàn)一個(gè)長按提示 “復(fù)制” 的功能,類似于QQ、微信聊天界面長按提示框效果,本來想偷懶在網(wǎng)上找個(gè)開源的項(xiàng)目用,但是看了好幾個(gè)都不是很滿意,所以就打算按照自己的思路來實(shí)現(xiàn)一個(gè)。下面分享給大家,有需要的朋友們可以參考借鑒。
    2016-11-11
  • Android自定義實(shí)現(xiàn)開關(guān)按鈕代碼

    Android自定義實(shí)現(xiàn)開關(guān)按鈕代碼

    經(jīng)??梢钥吹揭恍┻x擇開個(gè)狀態(tài)的配置文件,但是外觀都不多好看。我感覺還是自定義的比較好,下面小編給大家介紹通過Android自定義實(shí)現(xiàn)開關(guān)按鈕代碼,感興趣的童鞋一起學(xué)習(xí)吧
    2016-05-05
  • Android Gradle Build Error:Some file crunching failed, see logs for details的快速解決方法

    Android Gradle Build Error:Some file crunching failed, see l

    這篇文章主要介紹了Android Gradle Build Error:Some file crunching failed, see logs for details的快速解決方法的相關(guān)資料,需要的朋友可以參考下
    2016-10-10

最新評(píng)論

甘孜县| 睢宁县| 嘉义县| 丰镇市| 蒙山县| 杨浦区| 辛集市| 贵州省| 若尔盖县| 酒泉市| 台南市| 塘沽区| 电白县| 黄大仙区| 大荔县| 余干县| 巴楚县| 松桃| 城口县| 西盟| 富蕴县| 绿春县| 沽源县| 留坝县| 邓州市| 新竹市| 新昌县| 信阳市| 安西县| 延寿县| 遵义市| 武邑县| 阜阳市| 习水县| 巍山| 洮南市| 永顺县| 苗栗市| 铁岭县| 文山县| 台东县|