これはMathematica8.0.1や他のバージョンのバグである可能性が高いです。次のことを試してみましょう。
Table[
Export[
"Res_" <> ToString[r] <> ".png", Rasterize[
Style[x^2 + y^2, 40],
Background -> None,
ImageResolution -> r
],
Background -> None],
{r, {20, 40, 100, 300, 400, 500, 600}}
]
これは私が入手したもののスクリーンショットです:
最初に気付くのは、最後の2つの画像のサイズが間違っていることです。300以上の解像度で満足しているので、ある程度問題ありません。今これを見てください:
in = 72;
G3D = Graphics3D[AspectRatio -> 0.925, Axes -> {True, True, True},
AxesEdge -> {{-1, -1}, {1, -1}, {-1, -1}}, AxesStyle -> Directive[10, Black],
BaseStyle -> {FontFamily -> "Arial", FontSize -> 12}, Boxed -> False,
BoxRatios -> {1, 1, 1}, LabelStyle -> Directive[Black],
ImagePadding -> All, ImageSize -> 5 in, PlotRange -> All,
PlotRangePadding -> None, TicksStyle -> Directive[10],
ViewPoint -> {2, -2, 2}, ViewVertical -> {0, 0, 1}, Background -> None
];
surf = Show[
Graphics3D[Sphere[{0, 0, 0}, 1], Background -> None,
AxesLabel -> {"x", "y", "z"}], Options[G3D]
];
fig = Show[surf, AxesStyle -> Directive[Opacity[0]],
Background -> None
];
Export
背景が透明で高解像度のpngファイルとしてイチジクしたいです。いつもバグのあるMathematicaを使った私の足の不自由な試みがここにあります。
Table[
Export[
"Res_" <> ToString[r] <> ".png",
Rasterize[fig, ImageResolution -> r, Background -> None],
Background -> None
], {r, {20, 40, 100, 300, 400, 500}}
]
これがいくつかのpngファイルのスクリーンショーです。
それらのすべては期待された解像度で出てきました:)。しかし、私の透明な背景はどうなりましたか?私は自分のコードで何度も指定しましたが、Background -> None
これは機能したくありません。私はウェブを見回しました、そして私はこれを見つけました:
http://forums.wolfram.com/mathgroup/archive/2009/Feb/msg00943.html
このアイデアを使用してみましょう。
bgImage = Image[ConstantArray[{0, 0, 0, 0}, Reverse[ImageDimensions[fig]]],
ColorSpace -> "RGB"];
compImage = ImageCompose[bgImage, fig];
Table[Export["Res_" <> ToString[r] <> ".png",
Rasterize[compImage, ImageResolution -> r, Background -> None],
Background -> None], {r, {20, 40, 100, 300, 400, 500}}]
背景なし!!! :) 素晴らしい。しかし、私の画像のサイズはどうなりましたか?解像度は上がっていますが、画像サイズが小さくなり始めています。私は本当に長い間この問題をいじっています。皆さんの一人がこのMathematicaのバグに光を当て、高解像度の透明な背景PNGを実現するためのハックを見つけられることを願っています。答えが見つかったら、皆さんが使用しているMathematicaのバージョンを教えてください。