Unity3D -- 自定義範圍截圖
大家都知道unity有一個截圖方法,呼叫Application.CaptureScreenshot("Screenshot.png")方法就可以擷取一張圖儲存到Application.persistentDataPath+"/Screenshot.png", 但是如果你只是想擷取螢幕固定部分的內容怎麼辦呢,而且那個固定部分還是使用程式動態算出來的,這個時候使用全屏擷取就會有錯誤了。
Unity是可以實現擷取固定位置螢幕的。
首先在UI下面建立一個面板,
基於父物件中心對齊,然後長寬自由設定,
在父物件中宣告一個publicRectTransformBackGround 變數,然後將上面設定的面板關聯到BackGround。
程式執行是ShareUI設定面板大小
m_Height=Screen.height;
m_Width=m_Height*m_Height/Screen.width;
BackGround.sizeDelta=newVector2(m_Width,m_Height);
這個可以隨意設定。
然後開始截圖了。下面是程式碼:
Rect m_Rect;
voidStart(){
m_Height=Screen.height;
m_Width=m_Height*m_Height/Screen.width;
BackGround.sizeDelta=newVector2(m_Width,m_Height);
m_Rect
Vector3[]fourCornersArray=newVector3[4];
BackGround.GetWorldCorners(fourCornersArray);
m_Rect.width=fourCornersArray[2].x-fourCornersArray[0].x;
m_Rect.height=fourCornersArray[2].y-fourCornersArray[0].y;
m_Scale=BackGround.sizeDelta.x/m_Rect.width;
m_Rect.width=BackGround.sizeDelta.x;
m_Rect.height
m_Rect.x=Screen.width*0.5f-m_Rect.width/2;
m_Rect.y=Screen.height*0.5f-m_Rect.height/2;
} IEnumeratorScreenshot()
{
yieldreturnnewWaitForEndOfFrame();
BackGround.localScale=newVector3(m_Scale,m_Scale,m_Scale);
Texture2DscreenShot=newTexture2D((int)m_Rect.width,(int)m_Rect.height,TextureFormat.RGB24,false);
screenShot.ReadPixels(m_Rect,0,0);
screenShot.Apply();
byte[]bytes=screenShot.EncodeToPNG();
stringfilename=Application.persistentDataPath+"/Screenshot.png";
System.IO.File.WriteAllBytes(filename,bytes);
Invoke("Share",2f);
}
這樣在需要截圖的時候呼叫StartCoroutine(Screenshot());同樣地就在Application.persistentDataPath+"/Screenshot.png"; 路徑下儲存了一份截圖檔案。分享時將這種圖片分享就可以了。
——Rocky
相關推薦
Unity3D -- 自定義範圍截圖
大家都知道unity有一個截圖方法,呼叫Application.CaptureScreenshot("Screenshot.png")方法就可以擷取一張圖儲存到Application.persiste
Python自定義大小截圖
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Unity3D攝像機帶透明截圖
void ctu end 攝像機 sin upd () byte lan 轉載請註明出處:http://www.cnblogs.com/shamoyuu/p/CropCamera.html ↓↓↓下面的廢話可以不看↓&darr
angularjs1 制作自定義輪播圖(漢字導航)
auto tran 成就 ont webkit eight sse pos nta 本來想用swiper插件的,可是需求居然說要漢字當導航欄這就沒辦法了,只能自己寫。 directive // 自定義指令: Home頁面的輪播圖 app.directive(‘swi
小程序自定義輪播圖
tran index scroll false ges als -a ndt -s 話不多說,上圖上代碼。 wxml <view style="white-space: nowrap;" class="box" bindtouchstart="touchstart
Unity3D自定義資源配置文件
想要 說明 設計 子彈 數值 我們 ret 似的 復制 http://blog.csdn.net/candycat1992/article/details/52181814 寫在前面 我竟然最近兩天才知道Unity中ScriptableObject的存在…… 看了下Sc
如何自定義echarts 線性圖的選擇事件
其他 prop 改變 first ger key gpo urn alt 最近在做公司的數據大盤,要用到圖表顯示,echarts研二的時候有用過,我就決定用它了。 這裏用到一個可以同時顯示多條曲線的line-charts,基本樣子如下:
Android 自定義柱狀圖及屬性動畫
前段時間公司專案中用到了統計圖,網上找了些資料和框架都不能滿足我的需求,沒辦法,只有自己寫了。 近來清閒,將其抽出一個demo了,歡迎大家交流指正。 效果圖先行 實現方案有兩個,一是自定義控制元件,二是使用屬性動畫。屬性動畫在api11以上版本才有,在11版本以下使用可以引入nin
Threejs ShapeGeometry自定義形狀貼圖
最近專案需要在3D場景中給自定義的樓層區域進行貼圖區分,對於普通的的純色材質,實現比較簡單,但是如果要進行紋理貼圖的材質,就有點複雜了,這裡寫篇文章記錄下。 首先看看我們的樓層定義,如何實現自定義區域。其實很簡單,我們使用有序的點來定義樓層的平面形狀,然後根據平面的定義,自動生成3d的平面區域。
自定義輪播圖(banner圖)
public class MyBannerActivity extends AppCompatActivity { private String[] picUrl = { "https://img.huxiucdn.com/article/c
Unity3D 自定義編輯器介面(Inspector)
今天看一個指令碼,本想看看在 Inspector 介面的變數在腳本里的用途,然後查詢變數名的時候怎麼也找不到,自己也是驚訝。通過網上搜索才瞭解到原來 Inspector介面 是可以自己定義的。 當然自己定義,當然也需要寫一個指令碼來改的。可能是為了讓介面整潔的目的。 首先
自定義餅狀圖控制元件PieView
本篇參考:GcsSloop的安卓自定義View進階-Canvas之繪製圖形 一、分析如上餅狀圖,所需要得資訊如下 各塊的顏色 所有塊量得總和 各個塊得量佔總量的百分比,並通過百分比得到各個塊所佔扇形的弧度 第一個塊得起始角
自定義輪播圖
//mainactivity public class B1Fragment extends Fragment { //圖片陣列 private int[] mPic=new int[]{R.mipmap.a,R.mipmap.b,R.mipmap.c,R.mi
Unity3d中簡單的截圖功能
首先,新建兩個場景,Scene1 在Scene1中新增一個Button。在Canvas繫結如下指令碼: public Button but; void Start () { but = GameObject.Find ("
arcgis api for js之自定義範圍查詢
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>自定義範圍</title> <!-
利用androidStudio自帶的截圖工具截圖,不在用手機截圖然後傳到電腦上了
相信各位android程式設計師平時在和測試妹紙,運營,合作伙伴溝通的時候經常需要把手機上APP的效果圖發給對方,那麼平時我們繁瑣的操作步驟就是 手機截圖-> 分享到電腦QQ -> 轉發
自定義輪播圖(glide載入)
CustomBanner compile 'com.github.bumptech.glide:glide:3.7.0' public class CustomBanner extends FrameLayout implements ViewPa
android自定義柱狀圖
本程式碼是一年前公司專案需要自己所寫,當時做android專案需要統計的功能,統計的圖表包括餅圖、柱狀圖、折線圖,程式碼寫的有些笨拙!希望大家能夠看懂!其程式碼做拋磚引玉,希望大家能夠再改寫下!可以用多執行緒做出動畫,是不是更好呢?這些後期我也沒有整理過,所以誰能再整理下!
android自定義統計折線圖和柱狀圖組合
本程式碼是一年前公司專案需要自己所寫,當時做android專案需要統計的功能,統計的圖表包括餅圖、柱狀圖、折線圖,程式碼寫的有些笨拙!希望大家能夠看懂!其程式碼做拋磚引玉,希望大家能夠再改寫下!可以用多執行緒做出動畫,是不是更好呢?這些後期我也沒有整理過,所以誰能再整理下!
自定義餅狀圖
自定義ViewGroup基本步驟 寫構造方法 寫onLayout 確定子View的位置 onMesure 根據子View的佈局檔案確定子View的大小,及位置 測量分為三種 EXACTLY 300dp matchPar