ホームページ > バックエンド開発 > C++ > C# コンソール アプリケーションでデフォルトのパレットを超えてテキストの色をカスタマイズするにはどうすればよいですか?

C# コンソール アプリケーションでデフォルトのパレットを超えてテキストの色をカスタマイズするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-31 12:39:09
オリジナル
174 人が閲覧しました

How Can I Customize Text Colors Beyond the Default Palette in C# Console Applications?

C# コンソール アプリケーションでのテキストの色のカスタマイズ

C# コンソール アプリケーションでテキストの色をカスタマイズする場合、ConsoleColor 列挙によって提供されるデフォルトの色のセットでは要件を満たせない場合があります。 。幸いなことに、オレンジなどの独自のカスタム カラーを定義できます。

最初は、[Console.ForegroundColor](https://docs.microsoft.com/en-us/dotnet/api/system.console) .foregroundcolor?view=net-6.0) プロパティでは、事前定義された色のリストからのみ選択できます。さらに多くの色にアクセスするには、高度なプログラミング技術を詳しく調べる必要があります。

カスタム カラーのオプションを調べる

システムの制限事項:

残念ながら、 C# コンソール クラスは、16 進値または RGB コンポーネントを使用したカスタム カラーの割り当てを直接サポートしていません。利用可能な色のリストは固定されたままです。含まれるもの:

  • ブラック
  • ダークブルー
  • ダークグリーン
  • ダークシアン
  • ダークレッド
  • ダークマゼンタ
  • ダークイエロー
  • グレー
  • ダークグレー
  • ブルー
  • グリーン
  • シアン
  • レッド
  • マゼンタ
  • イエロー
  • ホワイト

を使用サードパーティ ライブラリ:

あるいは、コンソールの機能を拡張し、カスタムの色付けを可能にするサードパーティ ライブラリの利用を検討することもできます。これらのライブラリは通常、コンソール バッファーと直接対話するための低レベル システム コールを実装します。

たとえば、「Colorful.Console」NuGet パッケージを使用すると、カスタム カラーを定義してコンソール アプリケーションで使用できます。

using Colorful.Console;

Console.WriteLine("This is now orange text", new Color(255, 128, 0));
ログイン後にコピー
ログイン後にコピー

カスタム色付けの実装:

外部依存関係を回避したい場合は、次の手順に従って、独自のカスタム色付け方法を実装できます:

  1. SetConsoleScreenBufferInfoEx: この API 関数を使用すると、コンソール バッファーの色属性を直接変更できます。カスタム カラーを定義して適用するには、プラットフォーム固有の構造体 (CONSOLE_SCREEN_BUFFER_INFO_EX および COLORREF) を使用する必要があります。
  2. GetConsoleScreenBufferInfoEx: この関数を使用して、デフォルト カラーを含む現在のコンソール バッファー情報を取得します。属性。
  3. カスタムを定義するCOLORREF 構造体: RGB コンポーネントを指定してカスタム カラーを表す COLORREF 構造体を作成します。
  4. カスタム カラー属性を設定します: カスタム COLORREF 構造体を目的のカラー属性に割り当てます。 CONSOLE_SCREEN_BUFFER_INFO_EX構造体。
  5. コンソール バッファを更新します: SetConsoleScreenBufferInfoEx 関数を再度使用して、変更した CONSOLE_SCREEN_BUFFER_INFO_EX 構造体をコンソール バッファに適用します。

このアプローチには、より複雑なプログラミングが含まれます。ただし、コンソールの配色をより詳細に制御できます。このメソッドの完全な実装は、以下のリファレンス コード スニペットで提供されています。

using Colorful.Console;

Console.WriteLine("This is now orange text", new Color(255, 128, 0));
ログイン後にコピー
ログイン後にコピー

これらのメソッドのいずれかを採用することで、C# コンソール アプリケーションで使用できるカラー パレットを拡張し、C# コンソール アプリケーションの視覚的な魅力を高めることができます。テキスト出力。

以上がC# コンソール アプリケーションでデフォルトのパレットを超えてテキストの色をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート