ホームページ ウェブフロントエンド PS チュートリアル ノード カーブを使用すると、Photoshop と同様に、マウスでノードをドラッグしてカーブを調整できます。

ノード カーブを使用すると、Photoshop と同様に、マウスでノードをドラッグしてカーブを調整できます。

Feb 20, 2017 am 09:50 AM
photoshop

Photoshop でより一般的に使用される機能の 1 つは、図に示すようにカーブ調整です。

ノード カーブを使用すると、Photoshop と同様に、マウスでノードをドラッグしてカーブを調整できます。

マウスを使用してカーブ ノードを追加、削除、ドラッグして、画像パラメータを調整できます。考え方としては (ここではカーブ自体のみを考慮し、データ ストレージはこのリストには含まれていません)、この関数は比較的単純です:

  1. カーブは一連の Point ノードによって表されます

  2. マウスを使ってノードを操作すると、実際には 1 つのポイントが変更されます

  3. ポイントの挿入と削除

  4. ノードとは小さな正方形のハンドルです

  5. Paint DrawCurve ですべてのノードを通る曲線を描きます

  6. Draw現在のノードを表す十字線

  7. マウスを押して、既存のノード内にあるかどうかを確認し、そうでない場合は新しいノードを追加します

  8. 既存のノードがある場合は、マウスを押して移動します。ノード、ノードの座標はマウス座標です

  9. 描画を更新

完成したプログラム動作デモ(アニメーション):

ノード カーブを使用すると、Photoshop と同様に、マウスでノードをドラッグしてカーブを調整できます。

以下はサンプルコードの一部です:

ノード:


 List<point> points;</point>
ログイン後にコピー


描画ノードハンドル:

Rectangle getHandle(Point p)
{
    Rectangle rect = new Rectangle(
        p.X - 3,
        p.Y - 3,
        6,
        6);
    return rect;
}
ログイン後にコピー
判断某点是否位于手柄区域:
ログイン後にコピー
bool isHandle(Point p)
{
    foreach (Point pt in points)
    {
        if (isInside(p, getHandle(pt)))
        {
            downIndex = points.IndexOf(pt);
            downPoint = pt;
            current = pt;
            return true;
        }
    }
    return false;
}
ログイン後にコピー
注意这个部分可以适当放大一下判断区域,这样便于鼠标操作(手柄太小,不易点击)。
ログイン後にコピー

描画ハンドル:

void drawHandle(Graphics g, Point p)
{
    if (points.IndexOf(p) == downIndex)
        g.FillRectangle(
            Brushes.Black,
            getHandle(p));
    else
        g.DrawRectangle(
            Pens.Black,
            getHandle(p));
}
ログイン後にコピー

曲線描画:

 void drawCurve(Graphics g)
 {
     g.DrawCurve(Pens.Black, points.ToArray());
 }
ログイン後にコピー

曲線の描画には、Graphics クラスのカーディナル スプライン描画メソッドが使用され、デフォルトのテンションは 0.5 です。

交差位置決め線の描画 (補助機能):

void drawCrosshair(Graphics g, Point p)
{
    g.DrawLine(
        Pens.Gray,
        0, p.Y,
        clientRect.Width,
        p.Y);
    g.DrawLine(
        Pens.Gray,
        p.X,
        0,
        p.X,
        clientRect.Height);
}
ログイン後にコピー

マウスのドラッグ:

protected override void OnMouseMove(MouseEventArgs e)
{
    mousePoint = e.Location;
    if (mouseDown)
    {
        if (Current != null)
        {
            Current = mousePoint;
        }
        Refresh();
    }
}
ログイン後にコピー

ノードを含むより多くの曲線。Photoshop 関連記事と同様に、マウスでノードをドラッグして曲線を調整できます。PHP 中国語 Web サイトに注意してください。 !

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

ソーシャルメディアグラフィックを作成するためにPhotoshopを使用するにはどうすればよいですか? ソーシャルメディアグラフィックを作成するためにPhotoshopを使用するにはどうすればよいですか? Mar 18, 2025 pm 01:41 PM

この記事では、ソーシャルメディアグラフィックスのPhotoshop、セットアップ、設計ツール、最適化技術をカバーすることを使用して詳細に説明しています。グラフィック作成の効率と品質を強調しています。

Photoshop(ファイルサイズ、解像度、カラースペース)でWeb使用のために画像を準備するにはどうすればよいですか? Photoshop(ファイルサイズ、解像度、カラースペース)でWeb使用のために画像を準備するにはどうすればよいですか? Mar 13, 2025 pm 07:28 PM

記事では、PhotoshopでのWeb使用のための画像の準備、ファイルサイズ、解像度、カラースペースの最適化に焦点を当てています。主な問題は、画質と迅速な読み込み時間のバランスをとることです。

Photoshopのコンテンツを意識した塗りつぶしおよびコンテンツを意識した移動ツールを効果的に使用するにはどうすればよいですか? Photoshopのコンテンツを意識した塗りつぶしおよびコンテンツを意識した移動ツールを効果的に使用するにはどうすればよいですか? Mar 13, 2025 pm 07:35 PM

記事では、Photoshopのコンテンツを意識した塗りつぶしツールを効果的に使用して、ソース領域の選択、間違いの避け、最適な結果のために設定の調整に関するヒントを提供します。

Photoshopのビデオ編集機能を使用するにはどうすればよいですか? Photoshopのビデオ編集機能を使用するにはどうすればよいですか? Mar 18, 2025 pm 01:37 PM

この記事では、ビデオ編集にPhotoshopを使用する方法、ビデオのインポート、編集、エクスポートの手順の詳細、およびタイムラインパネル、ビデオレイヤー、エフェクトなどの重要な機能の強調表示について説明します。

Photoshopの正確な色についてモニターを校正するにはどうすればよいですか? Photoshopの正確な色についてモニターを校正するにはどうすればよいですか? Mar 13, 2025 pm 07:31 PM

記事では、Photoshopの正確な色のモニターの校正、キャリブレーションのツール、不適切なキャリブレーションの効果、および再調整頻度について説明します。主な問題は、色の精度を確保することです。

Photoshop(ファイルサイズ、解像度を最適化)を使用してWeb用の画像を準備するにはどうすればよいですか? Photoshop(ファイルサイズ、解像度を最適化)を使用してWeb用の画像を準備するにはどうすればよいですか? Mar 18, 2025 pm 01:35 PM

記事では、ファイルのサイズと解像度に焦点を当てたPhotoshopを使用して、Webの画像の最適化について説明します。主な問題は、品質と負荷時間のバランスをとることです。

PhotoshopでアニメーションGIFを作成するにはどうすればよいですか? PhotoshopでアニメーションGIFを作成するにはどうすればよいですか? Mar 18, 2025 pm 01:38 PM

記事では、既存のGIFにフレームを追加するなど、PhotoshopでアニメーションGIFの作成と最適化について説明します。主な焦点は、品質とファイルサイズのバランスをとることです。

Photoshop(解像度、カラープロファイル)を使用して、印刷用の画像を準備するにはどうすればよいですか? Photoshop(解像度、カラープロファイル)を使用して、印刷用の画像を準備するにはどうすればよいですか? Mar 18, 2025 pm 01:36 PM

この記事は、Photoshopで印刷するための画像の準備を導き、解像度、色プロファイル、シャープネスに焦点を当てています。 300 PPIおよびCMYKプロファイルが高品質のプリントに不可欠であると主張しています。

See all articles