28. december 2004 - 10:18Der er
1 kommentar og 1 løsning
Multipage tiff billede
Situationen er, at jeg har to tiff billeder der hver især indeholder flere sider (billeder). Mit spørgsmål er, hvordan jeg tager det ene tif-billedes sider og tilføjer i slutningen af det andet tiff-billede, sådan at jeg får et tiff-billede indeholdende alle siderne.
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Image billedeEkstra; Image nytBillede = null; Image billede; //get the codec for tiff files ImageCodecInfo info=null; foreach(ImageCodecInfo ice in ImageCodecInfo.GetImageEncoders()) { if(ice.MimeType=="image/tiff") { info=ice; } } //use the save encoder Encoder enc=Encoder.SaveFlag; EncoderParameters ep=new EncoderParameters(1); ep.Param[0]=new EncoderParameter(enc,(long)EncoderValue.MultiFrame);
int page = 0; int pageEkstra = 0; int pageCountEkstra = 0; int pageCount = 0;
billede = Image.FromFile(@"C:\1.tif"); //STIEN SKAL VÆRE TIL DEN FIL DER SKAL HAVE TILFØJET SIDER billedeEkstra = Image.FromFile("STI TIL DEN FIL DER HAR DE SIDER DER SKAL TILFØJES"); pageCountEkstra = billedeEkstra.GetFrameCount(FrameDimension.Page); pageCount = billede.GetFrameCount(FrameDimension.Page);
nytBillede=Image.FromFile(@"C:\1.tif"); //STIEN SKAL VÆRE TIL DEN FIL DER SKAL HAVE TILFØJET SIDER
//save the first frame string tempFileName = @"C:\"+System.Guid.NewGuid().ToString();//STI TIL MIDLERTIDIG FIL nytBillede.Save(tempFileName,info,ep);
for(page = 1; page < pageCount; page++) { //save the intermediate frames ep.Param[0]=new EncoderParameter(enc,(long)EncoderValue.FrameDimensionPage); billede.SelectActiveFrame(FrameDimension.Page, page); nytBillede.SaveAdd(billede, ep); } for(pageEkstra = 0; pageEkstra < pageCountEkstra; pageEkstra++) { //save the intermediate frames ep.Param[0]=new EncoderParameter(enc,(long)EncoderValue.FrameDimensionPage); billedeEkstra.SelectActiveFrame(FrameDimension.Page, pageEkstra); nytBillede.SaveAdd(billedeEkstra, ep); } File.Copy(tempFileName,"",true);//STIEN SKAL VÆRE TIL DEN FIL DER SKAL HAVE TILFØJET SIDE File.Delete("Stien til filen med de ekstra sider"); File.Delete(tempFileName);
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.