2014-05-05 36 views
1

所以,我正在編輯rtf文件並在其中添加一些圖像。RTF Picturescale

我找到了這個幫助我添加圖片的topic。但我不明白,也沒有成功地將它添加到好的規模。

它添加,默認規模的6,但即使我嘗試添加一個規模100,它並沒有在6

在這裏工作,現在仍然是我做的:

string mpic = @"{\pict\jpegblip\picw" + 
                returnImage.Width.ToString() + @"\pich" + returnImage.Height.ToString() + 
                @"\picwgoal" + returnImage.Width.ToString() + @"\pichgoal" + returnImage.Height.ToString() + 
                @"\picscalex" + 100.ToString() + @"\picscaley" + 100.ToString() + 
                @"\hex " + str + "}"; 

(當然,我也試過@"\picscaley100",結果相同)

所以基本上,我只是添加圖像,並指定比例。

我讀到它是默認的100%,但是當我沒有這個尺度時,它仍然是6%,而當我添加尺度時,沒有改變。

這是顯而易見的不是好的wsay,但我沒有找到一個完整的行的例子。

我想我忘了一個重要的部分:這個字符串,替換文檔中的另一個字符串。和文件,我從字節到字符串covnert,以便我可以修改我的文檔。

    using (var file = new MemoryStream(text)) 
        using (var reader = new StreamReader(file)) 
        { 
         //on se place au début du document à lire 
         reader.BaseStream.Seek(0, SeekOrigin.Begin); 
         //tant que la lecture n'est pas rendu à la fin du document on continue 
         while (!reader.EndOfStream) 
         { 
          //ecriture de chaque ligne du byte dans une string 
          contenu += reader.ReadLine(); 
         } 
        } 



myString.Replace("myImage", mpic); 

而且這可能是一個原因。

這裏有差異,與字modifiyng規模後:

pic1 pic2 pic3

+0

你用什麼程序打開文件?另外 - 你能提供一個你的程序輸出的簡短剪輯嗎? –

+0

我使用word來打開文件,當它生成時。更新我的帖子。 –

回答

0

根據RTF文件格式的文檔(http://latex2rtf.sourceforge.net/RTF-Spec-1.0.txt):

\ picscalex水平縮放值;參數是 表示百分比的值(默認值爲 100)。

\ picscaley垂直縮放值;參數是表示百分比的 值(默認值爲 100)。

由於您正確使用此參數,我的猜測是,要麼圖像+標籤格式化的方式存在問題,因此它們不能正確讀取,或者存在程序問題正在打開文件。

診斷文件格式最簡單的方法是使用編輯器爲您正確格式化文件。爲此,請在編輯器(又名「Word」)中打開輸出文件,調整圖像大小,然後保存該文件的新副本。將該更新的文件與原始文件進行比較,它應該可以幫助您確定格式化文件的適當方式。如果你需要比較工具,你可以使用無法比較的:http://www.scootersoftware.com/。只要確保將其設置爲文本或二進制模式。

+0

使用winmerge,我只發現一個區別,圖片中的值...是的,我認爲它沒有添加好的方法。但問題是:我該如何解決這個問題? –

+0

對附加註釋的評論:已經嘗試過沒有比例尺參數,並且我在比例尺中獲得了6個值,而且我不認爲picgoal是可選的,不是? –

+0

@Zaphod你可以發佈差異? (屏幕截圖或帶有兩個不同區域的文本) –

0

應該在緹單位(1440緹= 1英寸)中指定picwgoal和pichgoal參數。因此,舉例來說,如果你需要的圖片是3×2英寸,這是你的RTF標籤應如何顯示:

\ picwgoal4320 \ pichgoal2880 \ picscalex100 \ picscaley100

1440×3英寸= 4320

1440 * 2英寸= 2880

縮放適用於picwgoal和pichgoal參數。由於上述示例對比例使用了100%,因此picscalex/picscaley將被簡單地忽略。

由於您將像素寬度/高度傳遞給picwgoal/pichgoal參數,因此您將看到以6%顯示的圖片。對於96 DPI的標準顯示器,96約爲1440的6%。

如果您不想指定目標圖片大小,只需省略picwgoal和pichgoal參數即可。預計RTF閱讀器將以全尺寸顯示圖片。