ホームページ データベース mysql チュートリアル Canvas入门(2):图形渐变和图像形变换

Canvas入门(2):图形渐变和图像形变换

Jun 07, 2016 pm 03:43 PM
canvas http はじめる 変身 グラフィックス ソース 勾配

来源:http://www.ido321.com/986.html 一、图形渐变(均在最新版Google中测试) 1、绘制线性渐变 1: // 获取canvas 的ID 2: var canvas = document.getElementById( 'canvas' ); 3: if (canvas == null ) 4: { 5: return false ; 6: } 7: // 获取上下文 8:

来源:http://www.ido321.com/986.html


一、图形渐变(均在最新版Google中测试)

1、绘制线性渐变

<span>   1:</span><span> <span>// 获取canvas 的ID</span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   2:</span><span>     <span>var</span> canvas = document.getElementById(<span>'canvas'</span>);</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   3:</span><span>     <span>if</span> (canvas == <span>null</span>)</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   4:</span><span>     {</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   5:</span><span>         <span>return</span> <span>false</span>;</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   6:</span><span>     }</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   7:</span><span>     <span>// 获取上下文</span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   8:</span><span>     <span>var</span> context = canvas.getContext(<span>'2d'</span>);</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   9:</span><span>     <span>// 获取渐变对象</span></span>
ログイン後にコピー
ログイン後にコピー
<span>  10:</span><span>     <span>var</span> g1 = context.createLinearGradient(0,0,0,300);</span>
ログイン後にコピー
<span>  11:</span><span>     <span>// 添加渐变颜色</span></span>
ログイン後にコピー
ログイン後にコピー
<span>  12:</span><span>     g1.addColorStop(0,<span>'rgb(255,255,0)'</span>);</span>
ログイン後にコピー
<span>  13:</span><span>     g1.addColorStop(1,<span>'rgb(0,255,255)'</span>);</span>
ログイン後にコピー
<span>  14:</span><span>     context.fillStyle = g1;</span>
ログイン後にコピー
<span>  15:</span><span>     context.fillRect(0,0,400,300);</span>
ログイン後にコピー
<span>  16:</span><span>     <span>var</span> g2 = context.createLinearGradient(0,0,300,0);</span>
ログイン後にコピー
<span>  17:</span><span>     g2.addColorStop(0,<span>'rgba(0,0,255,0.5)'</span>);</span>
ログイン後にコピー
<span>  18:</span><span>     g2.addColorStop(1,<span>'rgba(255,0,0,0.5)'</span>);</span>
ログイン後にコピー
<span>  19:</span><span>     <span>for</span>(<span>var</span> i = 0; i</span>
ログイン後にコピー
<span>  20:</span><span>     {</span>
ログイン後にコピー
<span>  21:</span><span>         context.beginPath();</span>
ログイン後にコピー
<span>  22:</span><span>         context.fillStyle=g2;</span>
ログイン後にコピー
<span>  23:</span><span>         context.arc(i*25, i*25, i*10, 0, Math.PI * 2, <span>true</span>);</span>
ログイン後にコピー
<span>  24:</span><span>         context.closePath();</span>
ログイン後にコピー
<span>  25:</span><span>         context.fill();</span>
ログイン後にコピー
<span>  26:</span><span>     }</span>
ログイン後にコピー

createLinearGradient(x1,y1,x2,y2):参数分别表示渐变起始位置和结束位置的横纵坐标

addColorStop(offset,color):offset表示设定的颜色离渐变起始位置的偏移量,取值范围是0~1的浮点值。渐变起始偏移量是0,渐变结束偏移量是1.color是渐变的颜色。

效果:

Canvas入门(2):图形渐变和图像形变换

2、绘制径向渐变

<span>   1:</span><span> <span>// 获取canvas 的ID</span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   2:</span><span>     <span>var</span> canvas = document.getElementById(<span>'canvas'</span>);</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   3:</span><span>     <span>if</span> (canvas == <span>null</span>)</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   4:</span><span>     {</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   5:</span><span>         <span>return</span> <span>false</span>;</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   6:</span><span>     }</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   7:</span><span>     <span>// 获取上下文</span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   8:</span><span>     <span>var</span> context = canvas.getContext(<span>'2d'</span>);</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   9:</span><span>     <span>// 获取渐变对象</span></span>
ログイン後にコピー
ログイン後にコピー
<span>  10:</span><span>     <span>var</span> g1 = context.createRadialGradient(400,0,0,400,0,400);</span>
ログイン後にコピー
<span>  11:</span><span>     <span>// 添加渐变颜色</span></span>
ログイン後にコピー
ログイン後にコピー
<span>  12:</span><span>     g1.addColorStop(0.1,<span>'rgb(255,255,0)'</span>);</span>
ログイン後にコピー
<span>  13:</span><span>     g1.addColorStop(0.3,<span>'rgb(255,0,255)'</span>);</span>
ログイン後にコピー
<span>  14:</span><span>     g1.addColorStop(1,<span>'rgb(0,255,255)'</span>);</span>
ログイン後にコピー
<span>  15:</span><span>     context.fillStyle = g1;</span>
ログイン後にコピー
<span>  16:</span><span>     context.fillRect(0,0,400,300);</span>
ログイン後にコピー
<span>  17:</span><span>     <span>var</span> g2 = context.createRadialGradient(250,250,0,250,250,300);</span>
ログイン後にコピー
<span>  18:</span><span>     g2.addColorStop(1,<span>'rgba(0,0,255,0.5)'</span>);</span>
ログイン後にコピー
<span>  19:</span><span>     g2.addColorStop(0.7,<span>'rgba(255,255,0,0.5)'</span>)</span>
ログイン後にコピー
<span>  20:</span><span>     g2.addColorStop(0.1,<span>'rgba(255,0,0,0.5)'</span>);</span>
ログイン後にコピー
<span>  21:</span><span>     <span>for</span>(<span>var</span> i = 0; i</span>
ログイン後にコピー
<span>  22:</span><span>     {</span>
ログイン後にコピー
<span>  23:</span><span>         context.beginPath();</span>
ログイン後にコピー
<span>  24:</span><span>         context.fillStyle=g2;</span>
ログイン後にコピー
<span>  25:</span><span>         context.arc(i*25, i*25, i*10, 0, Math.PI * 2, <span>true</span>);</span>
ログイン後にコピー
<span>  26:</span><span>         context.closePath();</span>
ログイン後にコピー
<span>  27:</span><span>         context.fill();</span>
ログイン後にコピー
<span>  28:</span><span>     }</span>
ログイン後にコピー

createRadialGradient(x1,y1,radius1,x2,y2,radius2):x1,y1,radius1分别是渐变开始圆的圆心横纵坐标和半径。x2,y2,radius2分别是渐变结束圆的圆心横纵坐标和半径。

效果

Canvas入门(2):图形渐变和图像形变换

二、图形变换

1、坐标变换:平移、缩放和旋转

<span>   1:</span><span> <span>// 获取canvas 的ID</span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   2:</span><span>     <span>var</span> canvas = document.getElementById(<span>'canvas'</span>);</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   3:</span><span>     <span>if</span> (canvas == <span>null</span>)</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   4:</span><span>     {</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   5:</span><span>         <span>return</span> <span>false</span>;</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   6:</span><span>     }</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   7:</span><span>     <span>// 获取上下文</span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   8:</span><span>     <span>var</span> context = canvas.getContext(<span>'2d'</span>);</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   9:</span><span>     context.fillStyle = <span>'#eeeeff'</span>;</span>
ログイン後にコピー
<span>  10:</span><span>     context.fillRect(0,0,400,300);</span>
ログイン後にコピー
<span>  11:</span><span>     <span>// 平移坐标原点</span></span>
ログイン後にコピー
<span>  12:</span><span>     context.translate(200,50);</span>
ログイン後にコピー
<span>  13:</span><span>     context.fillStyle = <span>'rgba(255,0,0,0.25)'</span>;</span>
ログイン後にコピー
<span>  14:</span><span>     <span>for</span>(<span>var</span> i = 0; i</span>
ログイン後にコピー
<span>  15:</span><span>     {</span>
ログイン後にコピー
<span>  16:</span><span>         context.translate(25,25);</span>
ログイン後にコピー
<span>  17:</span><span>         <span>// 图形缩放</span></span>
ログイン後にコピー
<span>  18:</span><span>         context.scale(0.95,0.95);</span>
ログイン後にコピー
<span>  19:</span><span>         <span>// 图形旋转</span></span>
ログイン後にコピー
<span>  20:</span><span>         context.rotate(Math.PI / 10);</span>
ログイン後にコピー
<span>  21:</span><span>         context.fillRect(0,0,100,50);</span>
ログイン後にコピー
<span>  22:</span><span>     }</span>
ログイン後にコピー

translate(x,y):平移原点,x,y表示向左和向下移动多少单位,默认单位是像素

scale(x,y):缩放,x,y表示水平和垂直方向的缩放大小。小于1缩小,大于1放大。

rotate(angle):旋转,angle是旋转角度,单位是弧度。大于0表示顺时针旋转,反之逆时针。

效果:

Canvas入门(2):图形渐变和图像形变换

2、矩阵变换

<span>   1:</span><span> <span>// 获取canvas 的ID</span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   2:</span><span>     <span>var</span> canvas = document.getElementById(<span>'canvas'</span>);</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   3:</span><span>     <span>if</span> (canvas == <span>null</span>)</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   4:</span><span>     {</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   5:</span><span>         <span>return</span> <span>false</span>;</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   6:</span><span>     }</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   7:</span><span>     <span>// 获取上下文</span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   8:</span><span>     <span>var</span> context = canvas.getContext(<span>'2d'</span>);</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>   9:</span><span>     <span>// 定义颜色</span></span>
ログイン後にコピー
<span>  10:</span><span>     <span>var</span> colors = [<span>'red'</span>,<span>'orange'</span>,<span>'yellow'</span>,<span>'green'</span>,<span>'blue'</span>,<span>'navy'</span>,<span>'purple'</span>];</span>
ログイン後にコピー
<span>  11:</span><span>     <span>// 定义线宽</span></span>
ログイン後にコピー
<span>  12:</span><span>     context.lineWidth = 10;</span>
ログイン後にコピー
<span>  13:</span><span>     <span>// 矩阵变换</span></span>
ログイン後にコピー
<span>  14:</span><span>     context.transform(1,0,0,1,100,0);</span>
ログイン後にコピー
<span>  15:</span><span>     <span>// 循环绘制圆弧</span></span>
ログイン後にコピー
<span>  16:</span><span>     <span>for</span> (<span>var</span> i = 0; i </span>
ログイン後にコピー

17: { //原点每次下移10个px

<span>  18:</span><span>          context.transform(1,0,0,1,0,10);</span>
ログイン後にコピー
<span>  19:</span><span>         context.strokeStyle = colors[i];</span>
ログイン後にコピー
<span>  20:</span><span>         context.beginPath();</span>
ログイン後にコピー
<span>  21:</span><span>         context.arc(50,100,100,0,Math.PI,<span>true</span>);</span>
ログイン後にコピー
<span>  22:</span><span>         context.stroke();</span>
ログイン後にコピー
<span>  23:</span><span>     }</span>
ログイン後にコピー

transform(m11,m12,m21,m22,dx,dy):改方法使用一个新的变换矩阵与当前变换矩阵进行乘法运算。dx,dy表示原点坐标左移和下移的单位,默认是像素。

该变换矩阵格式如下

m11     m12   dx

m21      m22  dy

0            0         1

最终效果:

Canvas入门(2):图形渐变和图像形变换

总结:坐标变换的方法均可以用transform()代替,规则如下:

1、translate(x,y)    transform(1,0,0,1,dx,dy)或transform(0,1,1,0,dx,dy),前四个参数表示不对图形进行缩放操作。

2、scale(x,y) transform(x,0,0,y,0,0)或transform(0,y,x,0,0,0),后面两个参数表示不进行平移。

3、rotate(angle) transform(Math.cos(angle*Math.PI/180),Math.sin(angle*Math.PI/180),-Math.sin(angle*Math.PI/180),Math.cos(angle*Math.PI/180),0,0)或

transform(-Math.sin(angle*Math.PI/180),Math.cos(angle*Math.PI/180),Math.cos(angle*Math.PI/180),Math.sin(angle*Math.PI/180),0,0)


Canvas入门(3):图像处理和绘制文字

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

パデュー大学による、時間をかける価値のある拡散モデルのチュートリアル パデュー大学による、時間をかける価値のある拡散モデルのチュートリアル Apr 07, 2024 am 09:01 AM

拡散はより良いものを模倣するだけでなく、「創造」することもできます。拡散モデル(DiffusionModel)は、画像生成モデルである。 AI 分野でよく知られている GAN や VAE などのアルゴリズムと比較すると、拡散モデルは異なるアプローチを採用しており、その主な考え方は、最初に画像にノイズを追加し、その後徐々にノイズを除去するプロセスです。ノイズを除去して元の画像を復元する方法は、アルゴリズムの中核部分です。最後のアルゴリズムは、ランダムなノイズを含む画像から画像を生成できます。近年、生成 AI の驚異的な成長により、テキストから画像への生成、ビデオ生成など、多くのエキサイティングなアプリケーションが可能になりました。これらの生成ツールの背後にある基本原理は、以前の方法の制限を克服する特別なサンプリング メカニズムである拡散の概念です。

ワンクリックでPPTを生成!キミ: まずは「PPT出稼ぎ労働者」を普及させましょう ワンクリックでPPTを生成!キミ: まずは「PPT出稼ぎ労働者」を普及させましょう Aug 01, 2024 pm 03:28 PM

キミ: たった 1 文の PPT がわずか 10 秒で完成します。 PPTはとても面倒です!会議を開催するには PPT が必要であり、週次報告書を作成するには PPT が必要であり、投資を勧誘するには PPT を提示する必要があり、不正行為を告発するには PPT を送信する必要があります。大学は、PPT 専攻を勉強するようなものです。授業中に PPT を見て、授業後に PPT を行います。おそらく、デニス オースティンが 37 年前に PPT を発明したとき、PPT がこれほど普及する日が来るとは予想していなかったでしょう。 PPT 作成の大変な経験を話すと涙が出ます。 「20 ページを超える PPT を作成するのに 3 か月かかり、何十回も修正しました。PPT を見ると吐きそうになりました。」 「ピーク時には 1 日に 5 枚の PPT を作成し、息をすることさえありました。」 PPTでした。」 即席の会議をするなら、そうすべきです

CVPR 2024 のすべての賞が発表されました!オフラインでのカンファレンスには1万人近くが参加し、Googleの中国人研究者が最優秀論文賞を受賞した CVPR 2024 のすべての賞が発表されました!オフラインでのカンファレンスには1万人近くが参加し、Googleの中国人研究者が最優秀論文賞を受賞した Jun 20, 2024 pm 05:43 PM

北京時間6月20日早朝、シアトルで開催されている最高の国際コンピュータビジョンカンファレンス「CVPR2024」が、最優秀論文やその他の賞を正式に発表した。今年は、最優秀論文 2 件と学生優秀論文 2 件を含む合計 10 件の論文が賞を受賞しました。また、最優秀論文ノミネートも 2 件、学生優秀論文ノミネートも 4 件ありました。コンピュータービジョン (CV) 分野のトップカンファレンスは CVPR で、毎年多数の研究機関や大学が集まります。統計によると、今年は合計 11,532 件の論文が投稿され、2,719 件が採択され、採択率は 23.6% でした。ジョージア工科大学による CVPR2024 データの統計分析によると、研究テーマの観点から最も論文数が多いのは画像とビデオの合成と生成です (Imageandvideosyn

技術初心者必読:C言語とPythonの難易度分析 技術初心者必読:C言語とPythonの難易度分析 Mar 22, 2024 am 10:21 AM

タイトル: 技術初心者必読: 具体的なコード例を必要とする C 言語と Python の難易度分析 今日のデジタル時代において、プログラミング技術はますます重要な能力となっています。ソフトウェア開発、データ分析、人工知能などの分野で働きたい場合でも、単に興味があってプログラミングを学びたい場合でも、適切なプログラミング言語を選択することが最初のステップです。数あるプログラミング言語の中でも、C言語とPythonは広く使われているプログラミング言語であり、それぞれに独自の特徴があります。この記事ではC言語とPythonの難易度を分析します。

ベアメタルから 700 億のパラメータを備えた大規模モデルまで、チュートリアルとすぐに使えるスクリプトがここにあります ベアメタルから 700 億のパラメータを備えた大規模モデルまで、チュートリアルとすぐに使えるスクリプトがここにあります Jul 24, 2024 pm 08:13 PM

LLM が大量のデータを使用して大規模なコンピューター クラスターでトレーニングされていることはわかっています。このサイトでは、LLM トレーニング プロセスを支援および改善するために使用される多くの方法とテクノロジが紹介されています。今日、私たちが共有したいのは、基礎となるテクノロジーを深く掘り下げ、オペレーティング システムさえ持たない大量の「ベア メタル」を LLM のトレーニング用のコンピューター クラスターに変える方法を紹介する記事です。この記事は、機械がどのように考えるかを理解することで一般的な知能の実現に努めている AI スタートアップ企業 Imbue によるものです。もちろん、オペレーティング システムを持たない大量の「ベア メタル」を LLM をトレーニングするためのコンピューター クラスターに変換することは、探索と試行錯誤に満ちた簡単なプロセスではありませんが、Imbue は最終的に 700 億のパラメータを備えた LLM のトレーニングに成功しました。プロセスが蓄積する

RAG の 12 の問題点を数え上げ、NVIDIA シニア アーキテクトが解決策を教える RAG の 12 の問題点を数え上げ、NVIDIA シニア アーキテクトが解決策を教える Jul 11, 2024 pm 01:53 PM

検索拡張生成 (RAG) は、検索を使用して言語モデルを強化する手法です。具体的には、言語モデルは回答を生成する前に、広範な文書データベースから関連情報を取得し、この情報を使用して生成プロセスをガイドします。このテクノロジーにより、コンテンツの精度と関連性が大幅に向上し、幻覚の問題を効果的に軽減し、知識の更新速度が向上し、コンテンツ生成の追跡可能性が向上します。 RAG は間違いなく、人工知能研究の中で最もエキサイティングな分野の 1 つです。 RAGについて詳しくは、当サイトのコラム記事「大型モデルの欠点を補うことに特化したRAGの新展開とは?」を参照してください。このレビューはそれを明確に説明しています。」しかし、RAG は完璧ではなく、ユーザーはそれを使用するときにいくつかの「問題点」に遭遇することがよくあります。最近、NVIDIA の生成 AI 高度なソリューション

AIの活用 | AIが一人暮らしの女の子の生活ビデオブログを作成、3日間で数万件の「いいね!」を獲得 AIの活用 | AIが一人暮らしの女の子の生活ビデオブログを作成、3日間で数万件の「いいね!」を獲得 Aug 07, 2024 pm 10:53 PM

Machine Power Report 編集者: Yang Wen 大型モデルや AIGC に代表される人工知能の波は、私たちの生活や働き方を静かに変えていますが、ほとんどの人はまだその使い方を知りません。そこで、直感的で興味深く、簡潔な人工知能のユースケースを通じてAIの活用方法を詳しく紹介し、皆様の思考を刺激するコラム「AI in Use」を立ち上げました。また、読者が革新的な実践的な使用例を提出することも歓迎します。ビデオリンク: https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ 最近、Xiaohongshu で一人暮らしの女の子の生活 vlog が人気になりました。イラスト風のアニメーションといくつかの癒しの言葉を組み合わせれば、数日で簡単に習得できます。

VSCode 入門ガイド: 初心者が使い方のスキルをすぐにマスターするための必読の書です。 VSCode 入門ガイド: 初心者が使い方のスキルをすぐにマスターするための必読の書です。 Mar 26, 2024 am 08:21 AM

VSCode (Visual Studio Code) は、Microsoft によって開発されたオープン ソース コード エディターであり、強力な機能と豊富なプラグイン サポートを備えており、開発者にとって推奨されるツールの 1 つです。この記事では、初心者が VSCode の使用スキルをすぐに習得できるようにするための入門ガイドを提供します。この記事では、VSCode のインストール方法、基本的な編集操作、ショートカット キー、プラグインのインストールなどを紹介し、具体的なコード例を読者に提供します。 1. まず VSCode をインストールします。

See all articles