2012-07-26 36 views
12

2ページのTIFF画像があります。 ファイルをjpg形式に変換すると、2ページ目が失われました。 2枚の画像を1枚のjpgファイルに入れる方法はありますか? TIFFファイルのサイズが大きすぎるため、サイズを小さくする必要があります。プログラムでTIFFファイルサイズを小さくする必要がありますか?問題の解決にもなる可能性があります。tiffをjpg形式に変換する

+0

? :) –

+0

ごめんなさい、情報がありません:) c#.net – ozman

+1

Linuxの場合は、[convert command](http://www.imagemagick.org/script/convert.php)を使って複数のTIFF画像を追加することができます。例えば** convert -append ** _img1.tiff img2.tiff img3.tiff_ ** result.jpg ** – chochim

答えて

27

TIFFには複数のフレームを含めることはできますが、それぞれの単一フレームをJPGに変換する必要があります。

Windows Dev Center Samplesから撮影:

public static string[] ConvertTiffToJpeg(string fileName) 
{ 
     using (Image imageFile = Image.FromFile(fileName)) 
     { 
      FrameDimension frameDimensions = new FrameDimension( 
       imageFile.FrameDimensionsList[0]); 

      // Gets the number of pages from the tiff image (if multipage) 
      int frameNum = imageFile.GetFrameCount(frameDimensions); 
      string[] jpegPaths = new string[frameNum]; 

      for (int frame = 0; frame < frameNum; frame++) 
      { 
       // Selects one frame at a time and save as jpeg. 
       imageFile.SelectActiveFrame(frameDimensions, frame); 
       using (Bitmap bmp = new Bitmap(imageFile)) 
       { 
        jpegPaths[frame] = String.Format("{0}\\{1}{2}.jpg", 
         Path.GetDirectoryName(fileName), 
         Path.GetFileNameWithoutExtension(fileName), 
         frame); 
        bmp.Save(jpegPaths[frame], ImageFormat.Jpeg); 
       } 
      } 

      return jpegPaths; 
     } 
} 
+0

こんにちは、プロセスは正常に動作しますが、画像はちょうど暗い(前景が黒く)作成されました。私は何が欠けていますか? –

0

JPEGにTIFファイルを変換する際にTIF形式は自由なツールキットでサポートされていない圧迫のいくつかのタイプをサポートしていますので、私たちは、いくつかの問題に直面しました。 私はインターネットを検索し、いくつかの商用ツールキットを試しましたが、そのほとんどは多くの制限をかけて実装するのが難しいです。私の注意を引いたツールキットは、多くのファイル形式(圧縮率の異なるTIF画像を含む)の読み込みと保存をサポートしているため、リードツールです。このツールキットを使用して画像をJPEG形式に変換しました。あなたはこの自由なコード変換器を使用してC#に任意のVB.Netコードを変換することができ http://support.leadtools.com/CS/forums/8925/ShowPost.aspx

注:あなたは、以下のページでより多くの情報を見つけることができ あなたが作業しているどのような言語http://www.developerfusion.com/tools/convert/vb-to-csharp/

3
using System.Drawing; 
using System.Drawing.Imaging; 

Bitmap bm=Bitmap.FromFile("photo.tif"); 
bm.Save("photo.jpg",ImageFormat.Jpeg); 
+0

素敵な答えですが、通常、コードと一緒にコードが何をしているのかの説明を提供するのが好ましいです。 – MattD

関連する問題