概要
レイヤーの透過度を取得するためのサンプル コードを紹介いたします。
サンプル コード 1
レイヤーの数分透過度を取得する方法です。
import arcpy
mxd = arcpy.mapping.MapDocument("current")
lyrs = arcpy.mapping.ListLayers(mxd)
# レイヤーの数分ループ
for lyr in lyrs:
# 透過度を取得
trans = lyr.transparency
print (lyr.name + u"の透過度は" + str(trans) + u"です。")
サンプル コード 2
印刷またはエクスポ―ト時に問題を起こす可能性のあるレイヤーを特定するためのサンプル コードです。
こちらのヘルプ から抜粋したものです。
import arcpy
def DetectRasterization():
mxd = arcpy.mapping.MapDocument("CURRENT")
df_list = arcpy.mapping.ListDataFrames(mxd)
foundRasterization = False
noneFoundMsg = "No rasterizing layers were detected."
for df in df_list:
lyr_list = arcpy.mapping.ListLayers(mxd, data_frame=df)
for lyr in lyr_list:
if lyr.isRasterizingLayer or lyr.supports("BRIGHTNESS"):
foundRasterization = True
if lyr.isGroupLayer and lyr.transparency > 0:
print "In data frame '" + df.name + "', the group layer '" +
lyr.longName + "' is a rasterizing layer:r",
print "tVisibility is " + str(lyr.visible) + ".n" +
"tTransparency is " + str(lyr.transparency) + " percent.n"
elif not lyr.isGroupLayer:
print "In data frame '" + df.name + "', the layer '" +
lyr.longName + "' is a rasterizing layer:r",
if lyr.transparency > 0:
print "tVisibility is " + str(lyr.visible) + ".n" +
"tTransparency is " + str(lyr.transparency) + " percent.n"
else:
print "tVisibility is " + str(lyr.visible) + ".n" +
"tTransparency is 0 percent, but the layer may be an" +
"traster layer or contain rasterizing symbology suchn" +
"tas bitmap picture symbols.n"
del lyr
del lyr_list
del df
if not foundRasterization:
print noneFoundMsg
del df_list
del mxd
DetectRasterization()
こちらのサンプルはあくまでもコーディングの見本であり、実行時に発生したエラーの対処方法につきましては、サポート対象外とさせていただきます。また、操作方法やソースコードに関するご質問は別途有償の開発者サポート契約にてご対応させていただきます。なお、コードを実行して生じたいかなる損害についても弊社では責任を負いかねます。
このナレッジはお役に立ちましたか?
フィードバックをいただきありがとうございます!