# 画像を扱う (/ja/docs/verdent-for-vscode/common-workflows/images)

> Verdent で画像をアップロードして活用する



Verdent for VS Code は強力なマルチモーダル機能を備えており、画像をアップロードして視覚的な分析、モックアップからのコード生成、スクリーンショットを使ったデバッグなどを利用できます。このガイドでは、開発プロセスで画像理解を活用する実践的なワークフローを紹介します。

***

## Verdent への画像のアップロード [#verdent-への画像のアップロード]

分析や参照のために Verdent と画像を共有したいとします。

<Tabs>
  <Tab title="コピー＆ペースト">
    クリップボードを使った素早い方法:

    1. 画像をクリップボードにコピーします（スクリーンショット、ブラウザからのコピーなど）
    2. Verdent の入力フィールドをクリックします
    3. **Ctrl+V**（Windows/Linux）で貼り付けます

    **重要:** macOS では画像を貼り付けるのに **Ctrl+V**（Cmd+V ではない）を使用します。

    画像が会話に表示されます。
  </Tab>

  <Tab title="ファイルパスでの参照">
    パスで画像を参照します:

    ```
    Analyze this screenshot: /path/to/screenshot.png
    ```

    Verdent は指定されたパスから画像を読み取ります。

    <CodeGroup>
      ```bash "Absolute Path"
      /home/user/screenshots/error.png
      /Users/john/Desktop/mockups/design.png
      ```

      ```bash "Relative Path (Project Root)"
      ./screenshots/error.png
      ./mockups/design.png
      ```

      ```bash "Relative Path (Current Directory)"
      ../images/diagram.png
      ../../assets/logo.png
      ```
    </CodeGroup>

    一般的な形式: PNG、JPG、JPEG、WebP、GIF
  </Tab>

  <Tab title="複数の画像">
    複数の画像を扱います:

    1. クリップボードから複数の画像を順番に貼り付けます
    2. または複数のパスを参照します:

    ```
    Compare these three mockups: design-v1.png, design-v2.png, design-v3.png
    ```

    すべての画像が会話に表示され、まとめて参照できます。
  </Tab>
</Tabs>

<Tip>
  **ヒント:**

  * 対応形式: PNG、JPG、JPEG、WebP、GIF、BMP
  * 画像は会話のコンテキストに残るため、複数ターンの議論が可能です
  * アップロードした画像は後続の質問でも参照できます
  * 鮮明な画質ほど分析結果が向上します
</Tip>

***

## デザインモックアップからのコード生成 [#デザインモックアップからのコード生成]

デザインモックアップがあり、Verdent に実装コードを生成させたいとします。

<Steps>
  <Step title="デザインモックアップをアップロードする">
    モックアップ画像（Figma のエクスポート、デザインツール、手描きのスケッチなど）をコピーするか、ファイルパスで参照します。
  </Step>

  <Step title="コード生成をリクエストする">
    ```
    Generate React components to implement this dashboard design
    ```

    Verdent が視覚的な構造を分析します。
  </Step>

  <Step title="Verdent がコンポーネント構造を作成する">
    Verdent は視覚要素を識別し、次を生成します:

    ```tsx
    // DashboardLayout.tsx
    import React from 'react';
    import { StatCard } from './StatCard';
    import { RecentActivity } from './RecentActivity';
    import { UserChart } from './UserChart';

    export function DashboardLayout() {
      return (
        <div className="dashboard-container">
          <div className="stats-grid">
            <StatCard title="Total Users" value="1,234" trend="+12%" />
            <StatCard title="Revenue" value="$45.6K" trend="+8%" />
            <StatCard title="Active Sessions" value="89" trend="-3%" />
          </div>
          <div className="charts-section">
            <UserChart />
          </div>
          <div className="activity-section">
            <RecentActivity />
          </div>
        </div>
      );
    }
    ```

    コンポーネントはモックアップの構造に一致します。
  </Step>

  <Step title="対応する CSS を生成する">
    ```
    Generate Tailwind CSS classes to match the mockup styling
    ```

    Verdent は視覚デザインに基づいてスタイルを追加します:

    ```tsx
    <div className="grid grid-cols-3 gap-6 p-6">
      <StatCard className="bg-white rounded-lg shadow-md p-4" ... />
    </div>
    ```
  </Step>

  <Step title="細部を調整する">
    ```
    The spacing between stat cards should be larger, and add the blue accent color from the mockup
    ```

    Verdent がデザインにより正確に合わせて調整します。
  </Step>
</Steps>

<Tip>
  **ヒント:**

  * 解像度の高いモックアップほど正確なコードが生成されます
  * フレームワークを指定します: React、Vue、Angular、素の HTML/CSS
  * スタイリング手法を明記します: Tailwind、CSS Modules、Styled Components
  * 精度を高めるためカラーコードやデザインシステムの詳細を提供します
  * 手描きのスケッチでも素早いプロトタイプには有効です
</Tip>

***

## スクリーンショットによるエラーのデバッグ [#スクリーンショットによるエラーのデバッグ]

エラーメッセージに遭遇し、その内容の理解に手助けが必要だとします。

<Tabs>
  <Tab title="ブラウザのコンソールエラー">
    エラーを表示しているブラウザコンソールのスクリーンショットを貼り付けます:

    ```
    Here's the error I'm getting in the console. What's causing it?
    ```

    Verdent は次を読み取ります:

    * エラーメッセージのテキスト
    * スタックトレースの情報
    * ファイル名と行番号
    * 関連するコンソールの警告

    Verdent が診断を提供します:

    ```
    This is a "Cannot read property 'map' of undefined" error. The 'users' array is undefined when the component first renders. Add a conditional check or default empty array.
    ```

    Verdent が修正方法を提案します。
  </Tab>

  <Tab title="ターミナルのエラー">
    ターミナルのコンパイルエラーのスクリーンショットを貼り付けます:

    ```
    My TypeScript build is failing with these errors
    ```

    Verdent は次を分析します:

    * 型エラー
    * ファイルパス
    * エラーコード
    * コンパイルのコンテキスト

    Verdent が説明します:

    ```
    You have a type mismatch in UserProfile.tsx line 42. The 'age' property expects a number but you're passing a string. Cast it with Number(age).
    ```
  </Tab>

  <Tab title="実行時例外">
    アプリケーションログのスタックトレースのスクリーンショットを貼り付けます:

    ```
    The application crashed with this exception
    ```

    Verdent は次を調べます:

    * 例外の種類
    * スタックトレース
    * メソッド名と行番号
    * 文脈となるログメッセージ

    根本原因を特定し、修正方法を提案します。
  </Tab>

  <Tab title="ネットワークエラー">
    ブラウザの DevTools の Network タブのスクリーンショットを貼り付けます:

    ```
    This API request is failing, here's the network tab
    ```

    Verdent は次を分析します:

    * HTTP ステータスコード
    * リクエスト/レスポンスのヘッダー
    * リクエストのペイロード
    * レスポンスのボディ

    API の問題を診断します。
  </Tab>
</Tabs>

<Tip>
  **ヒント:**

  * エラーメッセージは省略せず全文を含めます（重要な部分を切り取らない）
  * 可能な限りスタックトレースを完全に表示します
  * 周辺のコンテキストも含めます（他のコンソールメッセージやネットワークリクエストなど）
  * テキストで説明するだけでなく、実際のエラーをスクリーンショットで示します
</Tip>

***

## よくある質問 [#よくある質問]

<Accordion title="画像ファイルのサイズ制限は？">
  **最大ファイルサイズ:** 5MB（超過した場合は自動圧縮されます。圧縮後も 5MB を超える場合はエラーになります）

  **最大解像度:** 2000×2000 ピクセル

  **対応形式:** PNG、JPG、JPEG、GIF、BMP、WebP

  **ベストプラクティス:** 最適なパフォーマンスと正確な分析のため、3MB 未満で 2000×2000 までの解像度の画像を使用してください。
</Accordion>

<Accordion title="Verdent は 1 回の会話で複数の画像を分析できますか？">
  はい。複数の画像を順番に貼り付けたり、1 つのプロンプトで複数のファイルパスを参照したりできます。Verdent はすべての画像にわたってコンテキストを保持し、比較や分析を行います。例: 「これら 3 つのモックアップを比較して、違いを指摘してください。」
</Accordion>

<Accordion title="Verdent は私の画像を外部サーバーにアップロードしますか？">
  クリップボードで貼り付けた画像やファイルパスで参照した画像は、会話セッション内で処理されます。画像は永続的に保存されず、新しい会話を開始すると消去されます。ファイルパスでの参照は、アップロードせずにローカルで画像を読み取ります。
</Accordion>

<Accordion title="Verdent はモックアップから本番運用可能なコードを生成できますか？">
  Verdent はモックアップの視覚構造、レイアウト、スタイルを実装する機能的なスターターコードを生成します。通常は、ビジネスロジック、データ連携、アクセシビリティ機能、エラー処理、本番向けの最適化を追加して調整する必要があります。
</Accordion>

<Accordion title="Verdent がデザインモックアップを誤って解釈した場合は？">
  修正のフィードバックを繰り返し与えてください。「ヘッダーはグレーではなく青にしてください」や「これらのカードは 4 列ではなく 3 列のグリッドにしてください」のように伝えます。Verdent はあなたの修正に基づいて実装を調整します。複数回の調整を行うのは通常のことです。
</Accordion>

***

## 関連項目 [#関連項目]

<CardGroup cols="2">
  <Card title="新しいコードを書く" icon="code" href="/docs/verdent-for-vscode/task-based-guides/writing-code">
    Verdent を使って新しい機能やコンポーネントを作成する
  </Card>

  <Card title="コードを理解する" icon="book-open" href="/docs/verdent-for-vscode/task-based-guides/understanding-code">
    コードの理解と探索のワークフロー
  </Card>
</CardGroup>
