亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 react-stl-obj-viewer 組件時如何訪問畫布以獲取屏幕截圖

使用 react-stl-obj-viewer 組件時如何訪問畫布以獲取屏幕截圖

青春有我 2022-12-09 17:13:20
我正在使用組件react-stl-obj-viewer來渲染 3d stl 圖像。我可以正確渲染 3d stl 圖像。渲染圖像后,我會嘗試移動它并有一個按鈕來截取它的屏幕截圖。<div>  <STLViewer    onSceneRendered={(element) => {      console.log(element);    }}    sceneClassName="test-scene"    file={this.state.selectedFile}    modelColor="#073FE9"  /></div><div style={{ display: "inline-block" }}>  <Button    id="thumbnail"    style={{ zIndex: "-1", margin: "20px 0px 20px 0px" }}    onClick={(e) => {      this.save3dRender(e, webGlContextExists);    }}  >    Save Frame as Thumbnail  </Button>  {!this.state.showThumbnail ? (    <Container>      <h2>Did you get this image</h2>      <Image src={this.state.thumbnailFile} />    </Container>  ) : null}</div>為了獲取圖像的屏幕截圖,我嘗試使用 .toDataURL("image/png")。我的按鈕在按下時會執行此操作。  save3dRender = (e, geeL) => {    e.preventDefault();    var testThumbnail = geeL.canvas.toDataURL("image/png");    this.state.thumbnailFile = testThumbnail;    this.state.thumbnailFileRender = true;    this.state.showThumbnail = false;  };我對此有些陌生,但認為我走在正確的軌道上。由于 STLViewer 組件正在創建畫布,我試圖通過 .canvas 以這種方式訪問它。不確定這是否正確,但我確實得到了一個 data:image/png;base64 地址。然而,它是一個空白圖像。我訪問的是正確的畫布嗎?在將圖像作為 data:/image/png;base64 后,我需要對圖像做些什么嗎?
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

解決了這個問題。這是一個我需要引用的數組。

var testThumbnail = geeL[0].toDataURL("image/png"); 代替 var testThumbnail = geeL.canvas.toDataURL("image/png");


查看完整回答
反對 回復 2022-12-09
  • 1 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號