Flash MX2004でアクションスクリプト2.0を使用して指定範囲をビットマップ形式で印刷できない問題について

このQ&Aのポイント
  • Flash MX2004でアクションスクリプト2.0を使用して指定範囲をビットマップ形式で印刷する方法を知りたいです。
  • また、同様にwebで再生されたムービーからボタン操作で指定範囲をjpegで保存する方法も知りたいです。
  • アクションスクリプト2.0を使用して指定範囲をビットマップ形式で印刷する方法や、web上で指定範囲をjpegで保存する方法について教えてください。
回答を見る
  • ベストアンサー

よろしくお願いします。

よろしくお願いします。 使用ソフトは FLASH MX2004でアクションスクリプトは2.0です。 ムービー内のボタンをクリックすると 指定範囲をビットマップ形式で印刷できるようにしたいと思っています。 myButton.onRelease = function() { var my_pj = new PrintJob(); var myResult = my_pj.start(); if(myResult){ myResult = my_pj.addPage (0, {xMin : 0, xMax: 400, yMin: 0, yMax: 400}); myResult = my_pj.addPage ("myMovieClip", {xMin : 0, xMax: 400, yMin: 400, yMax: 800},{printAsBitmap:true}, 1); myResult = my_pj.addPage (1, null,{printAsBitmap:false}, 2); myResult = my_pj.addPage (0); my_pj.send(); } delete my_pj; } 検索して出てきたサイトに載っていたスクリプトをそのまま使い、 これで、指定範囲を印刷することはできたのですが、 ベクターデータで印刷されてしまい、 lineTo でムービー上に描きだした透明度のある線画をうまく印刷できません。 上のスクリプトは http://help.adobe.com/ja_JP/Flash/10.0_UsingFlash/WSB7FB8B27-9DF4-4089-9434-8AFF31584DA4.html#WS550687E1-ACF0-4b73-841A-7AF8F41D6340 に掲載されているもの、そのままなのですが、 これをどう修正すると ビットマップで透明度を認識する印刷ができるようになるのでしょうか? アクションスクリプト2.0でも、できるようなのですが、 説明を読んでも理解できず、ご教授いただけると助かります。 また、同様にwebで再生されたムービーからボタン操作で指定範囲をjpegでパソコン内に保存できるようにしたいのですが、 少し調べた範囲では、アクションスクリプト2.0では難しいようなのですが、 これをできる方法はありますでしょうか? 以上、ご回答よろしくお願いします。

  • Flash
  • 回答数1
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • nori213
  • ベストアンサー率100% (1/1)
回答No.1

自己解決できました。お恥ずかしい質問をしていたことに気づきました。

関連するQ&A

  • MATLABで画像軸のスケール変更をしたいのですが、 スケールだけのへ

    MATLABで画像軸のスケール変更をしたいのですが、 スケールだけのへんこうはできますか? axis ([xmin xmax ymin ymax])だと画像サイズを超えた際に余白が白くなってしまいます。 画像サイズはそのままで縮尺サイズだけ変更したいです。 どなたかお願いします

  • Scilabを使ったジュリア集合の描画プログラム

    今、Scilabを使用してジュリア集合(充填およびそれ以外を含む集合)を描画するプログラムを書いています。 以前書いたC言語のプログラムをもとに書いているのですが、正確に描画できません。どうしたらよいでしょうか。教えてください。 与える条件は右上と左下の座標(複素数形式)と定数Cの値です。 以下に掲載したのが製作したプログラムです。 よろしくお願い致します。 //描画エリアの右上と左下の座標を複素数で設定する Z =[ -1.2-1.2*%i;1.2+1.2*%i]; //複素定数(C)を設定する C=0+0*%i; //描画エリアのx座標とy座標の各最小値と最大値を計算する。 xmin = min(real(Z)); xmax = max(real(Z)); ymin = min(imag(Z)); ymax = max(imag(Z)); Cr = real(C); Ci = imag(C); //描画点数を800×800に設定する。 N = 800; //各増分を計算する。 dx = (xmax-xmin)/(N-1); dy = (ymax-ymin)/(1-N); //プロットデータを"0"で初期化 map=zeros(N,N); //ジュリア集合の描画 i=1; for X=xmin:dx:xmax j=1; for Y=ymax:dy:ymin for k=1:30 x = X ^ 2 - Y ^ 2 + Cr; y = 2 * X * Y +Ci; if x^2 +y^2 > 4 then break; end map(j,i)=k; X=x; Y=y; end j=j+1; end i=i+1; end //プロットするための設定 Re = xmin:dx:xmax; Im = ymax:dy:ymin; clf(0); Sgrayplot(Re,Im,map');

  • 現在、エクセルで、選択したグラフの大きさや縦横軸を統一するマクロを作成

    現在、エクセルで、選択したグラフの大きさや縦横軸を統一するマクロを作成中です。 以下のようなマクロまでは作ることができましたが、ひとつだけ不満があります。 それは、初期値です。 できれば、最初に選択したグラフの設定を初期としてダイアログの入力欄に記入してある状態にしたいのですが、どうすればよいかわかりません。 知恵を貸してください!! よろしくお願いいたします!!! Sub 選択したグラフ縦横軸変更() Dim chartObj As ChartObject Dim myObj As Object Dim xmin As Double Dim xmax As Double Dim ymin As Double Dim ymax As Double xmin = Application.InputBox("x軸最小値") xmax = Application.InputBox("x軸最大値") ymin = Application.InputBox("y軸最小値") ymax = Application.InputBox("y軸最大値") For Each myObj In Selection Set chartObj = ActiveSheet.ChartObjects(myObj.Name) With chartObj.Chart.Axes(xlCategory) .MaximumScale = xmax .MinimumScale = xmin End With With chartObj.Chart.Axes(xlValue) .MaximumScale = ymax .MinimumScale = ymin End With Next myObj End Sub

  • (C言語)スキャンライン法による三角形作成

    こんにちは! 先週C言語のプログラミングの課題が出て土日もずっと考えたのですが全く意味が分かりません>< どなたか教えてください泣 内容は、スキャンライン法で二次元三角形を作り(三角形の塗りつぶし)、BMPファイルへ出力せよというものです。 1. 3角形を囲む長方形・ (xmin,xmax,ymin,ymax) 2. Y座標をymax~yminまで, 1ずつ減らしながら以下を繰り返す (a)スキャンラインSL(Y=y)発生 (b)SLと3角形との交点(線形補間) (c)交点間の画素を 表示色(r,g,b)で塗る *端点や水平線に注意 よろしくお願いします><

  • ビットマップを二値化した後の座標取得のご相談

    ビットマップを二値化した後の座標取得のご相談 最近VB6.0からVC++2008(Express Edition)に乗り換えて画像処理を試みています(WinXP).現在,長方形が写っているビットマップ画像を二値化して,指定範囲内の長方形の平均高さ(白を抽出)を調べようとしています.WEBや文献など調べて,二値化するところまではできたのですが,二値化後の白黒画像の座標値の読み方が分からないため,長方形の高さを算出することができません.もしよろしければご助言いただけましたら幸いに思います. ─────────────────────────────────── VB6.0プログラム(二値化後の処理の部分) Dim Xmin As Double, Xmax As Double //X方向 Dim Ymin As Double, Ymax As Double //Y方向 Dim SumY As Double, AveY As Double Dim Pix As Double ' Xmin = 0 Xmax = Shape1.Width SumY = 0  //長方形の高さの合計 AveY = 0  //長方形の高さの平均 ' For X = Shape1.Left To Shape1.Left + Shape1.Width Ymin = 0 Ymax = 0 ' For Y = Shape1.Top To Shape1.Top + Shape1.Height //囲んだ四角部分において '   //※この下の部分をVC++2008でどのようにすれはいいかわかりません・・・ If picturebox1.Point(X, Y) = RGB(255, 255, 255) Then //白があれば If Ymin = 0 Then //Yminが0であれば Ymin = Y //YminはY End If If Ymax < Y Then //YmaxがYより小さかったら Ymax = Y //YmaxはY End If End If ' Next Y SumY = SumY + Ymax - Ymin //Xごとの長方形の高さの合計 Next X ' AveY = SumY / Xmax //平均高さの算出 ─────────────────────────────────── ここからVC++2008(二値化と計算を一気に行えればいいなと思ってます) for (j = 0; j < rect.Height; j++) {  for (i = 0; i < rect.Width; i++){ //輝度値の取得 B = pBuf[i * Step + j * bmpData->Stride]; //青 G = pBuf[i * Step + 1 + j * bmpData->Stride]; //緑 R = pBuf[i * Step + 2 + j * bmpData->Stride]; //赤 //輝度値の設定(二値化) if ((B >= Threshold) || (G >= Threshold) || (R >= Threshold)) { //白に変換  pBuf[i * Step + j * bmpData->Stride] = 255; //青  pBuf[i * Step + 1 + j * bmpData->Stride] = 255; //緑  pBuf[i * Step + 2 + j * bmpData->Stride] = 255; //赤  //※ここに何かいれればいいと思うのですが,上記の  //※If(picturebox1.Point(X,Y)=RGB(255,255,255))に代わる書き方が分かりません… } else { //黒に変換 pBuf[i * Step + j * bmpData->Stride] = 0; //青 pBuf[i * Step + 1 + j * bmpData->Stride] = 0; //緑 pBuf[i * Step + 2 + j * bmpData->Stride] = 0; //赤 } } 参照WEB http://imagingsolution.blog107.fc2.com/blog-entry-40.htm

  • FlashActionScriptバイブルを読破された方に質問です!

    P.258の下の方にあるスクリプト(cd-romのサンプルclipEvent05.flaのスクリプトです。)の使い方、意味の解釈ができなくて、困っております。 わからないのは、 本書の 5行目から9行目までです。 その他の意味は解しております。 //このMovieClipオブジェクトのサイズを、ローカル座標で取得 var theBounds = this.getBounds(this); //その中の値(自分の中心点からのピクセル数)をオフセット xMin -= theBounds.xMin; xMax -= theBounds.xMax; とあるのですが、getBoundsメソッドのあとの引数のthisとは一体何なのでしょう?? また、8,9行目で、なぜ、xMinとxMaxは共に-=しているのでしょうか。 というのもp257のサンプルでは、xMin+=_width/2とxMin-=_width/2というようにあったので・・・。P257のほうの意味は理解しております。ちょっとp257が頭に残ってしまって、何がなんだか分からなくなっております。 getBoundsメソッドの概念がどうしてもつかめません。 そこで、そのメソッドの役目を確認しようと、本書とは関係ない実験をしてみました。 一つのムービーを作成してみました。ムービー上にわざとローカル座標の中心点をずらしたムービークリップを配置して、それにクリップアクションで、 onClipEvent(load){ secret=this.getBounds(); trace(secret); } と書いて、ムービープレビューしてみました。ですが、これで出力に表示されるのは「Type Object」と出るだけでした。getBoundsメソッドはローカル座標を調べてくれるのではないのでしょうか?馬鹿な間違いかもしれませんが、遠慮なくご指摘ください。 ちょっと本書の説明では、ついていけなかったので、 助け舟を出してくださる方がいることを祈っております。 宜しく御願い致します。 また、本書についての質問掲示板等がございましたら、 教えていただけましたら幸いです。

  • エクセルの1シート内にある複数の散布図のx軸とy軸の最大目盛、最少目盛

    エクセルの1シート内にある複数の散布図のx軸とy軸の最大目盛、最少目盛、目盛間隔を揃えるにはどのようにしたら良いか教えてください。いくつかwebsiteで調べて下記のようにしてみましたが、x軸の目盛を変更するところで、失敗してしまいます。 よろしくお願いします。 Sub XY軸() Dim Ymin Ymin = InputBox("Y軸の最少?") If IsNumeric(Ymin) Then Range("C2").Value = Ymin Else MsgBox "入力NG!" End If Dim Ymax Ymax = InputBox("Y軸の最大?") If IsNumeric(Ymax) Then Range("C3").Value = Ymax Else MsgBox "入力NG!" End If Dim Y Y = InputBox("目盛間隔?") If IsNumeric(Y) Then Range("C4").Value = Y Else MsgBox "入力NG!" End If Dim xmin xmin = InputBox("X軸の最少?") If IsNumeric(xmin) Then Range("D2").Value = xmin Else MsgBox "入力NG!" End If Dim Xmax Xmax = InputBox("X軸の最大?") If IsNumeric(Xmax) Then Range("D3").Value = Xmax Else MsgBox "入力NG!" End If Dim X X = InputBox("Xの目盛間隔?") If IsNumeric(X) Then Range("D4").Value = X Else MsgBox "入力NG!" End If Dim co As ChartObject For Each co In ActiveSheet.ChartObjects With co.Chart With .Axes(xlValue) .MinimumScale = Range("C2").Value '最小値 .MaximumScale = Range("C3").Value '最大値 .MajorUnit = Range("C4") '目盛間隔 End With With .Axes(xlCategory) .MinimumScale = Range("D2").Value '最小値 .MaximumScale = Range("D3").Value '最大値 .MajorUnit = Range("D4") '目盛間隔 End With End With Next End Sub

  • 日付範囲指定について

    よろしくお願いします。 年、月をコンボボックスで表示させ、選択できるようにしてあります。jsの内容は以下です。 ----------------------------------------------------- var ymin = 1950; var ymax = 2050; function getToday(){ var t = new Date(); var y = t.getYear(); if(1900 > y){y += 1900;} var m = t.getMonth()+1; var d = t.getDate(); fyear(y); fmonth(m); fday(d); } function fyear(thisyear){ var obj = document.getElementById('year'); ymin =ymin - 0; ymax =ymax - 0; var j = 1; for(i = ymin; ymax > i; i++){ var str = i.toString() + "年"; obj.options[j] = new Option(str); obj.options[j].value = i; if(i == thisyear){ obj.options[j].selected = true; } j++; } } function fmonth(thismonth){ var obj = document.getElementById('month'); for(i = 1; 12 >= i; i++){ var str = i.toString() + "月"; obj.options[i] = new Option(str); obj.options[i].value = i; if(i == thismonth){ obj.options[i].selected = true; } } } ----------------------------------------------------- これを利用して日付範囲指定(例として、2006年1月~2008年8月ような感じ)を行いたいのですが、可能でしょうか? 自分で試した方法ですと、前半(2006年1月)は表示できるのですが、後半(2008年8月)が表示できませんでした。 試したソースは以下 --------------------------------------------------- <!-- var ymin = 1950; var ymax = 2050; function getToday(){ var t = new Date(); var y = t.getYear(); if(1900 > y){y += 1900;} var m = t.getMonth()+1; var d = t.getDate(); fyear(y); fmonth(m); tyear(y); tmonth(m); } function fyear(thisyear){ var obj = document.getElementById('year'); ymin =ymin - 0; ymax =ymax - 0; var j = 1; for(i = ymin; ymax > i; i++){ var str = i.toString() + "年"; obj.options[j] = new Option(str); obj.options[j].value = i; if(i == thisyear){ obj.options[j].selected = true; } j++; } } function fmonth(thismonth){ var obj = document.getElementById('month'); for(i = 1; 12 >= i; i++){ var str = i.toString() + "月"; obj.options[i] = new Option(str); obj.options[i].value = i; if(i == thismonth){ obj.options[i].selected = true; } } } function tyear(thisyear){ var obj = document.getElementById('tyear'); ymin =ymin - 0; ymax =ymax - 0; var j = 1; for(i = ymin; ymax > i; i++){ var str = i.toString() + "年"; obj.options[j] = new Option(str); obj.options[j].value = i; if(i == thisyear){ obj.options[j].selected = true; } j++; } } function tmonth(thismonth){ var obj = document.getElementById('tmonth'); for(i = 1; 12 >= i; i++){ var str = i.toString() + "月"; obj.options[i] = new Option(str); obj.options[i].value = i; if(i == thismonth){ obj.options[i].selected = true; } } } //--> どうかよろしくお願いします。

  • gnuplotで部分描画したい。

    gnuplotで部分描画したい。 guplotでplotすると、枠全体に描画されてしまいます。 これを回避しようと、xの範囲を[xmin:xmax]と指定すると、 枠の左端がxmin、右端がxのxmaxに設定されてしまいます。 すなわち私がしたいことは、 枠の両端をxの座標で[fmin:fmax]で指定し、 グラフを[pmin:pmax]の範囲で描画させたいのです。 (fmin < pmin < pmax < fmax) どのようにすればいいでしょうか。

  • marqueeをJavascriptで書く方法

    以下のコードで、幅670ピクセルの範囲で100~600ピクセルの範囲で左から右に動く動画を表示させて、0~100と600~670の範囲では表示させないようにする動作を繰り返しているのですが、 100で画像が現れる時と、600で画像が消えていく時に、いっぺんに消えたり現れたりするのではなく、marqueeのようにその境界で、徐々に消えたり現れたりするように動作を変更したいのですが、これをJavascritoで実行したい場合、どういった書き方をすればいいのでしょうか? ご経験のある方は、御教示願えればと思います。 <html> <head> <title>指定範囲内を動き続ける画像</title> <script type="text/javascript"> xmin = 0; // 左 動く範囲の設定 ymin = 0; // 上 xmax = 670; // 右 ymax = 360; // 下 xmid_l = 100; xmid_u = 600; //x = 1; // y = 1; function move(){ // 画像の移動 img1.style.pixelLeft = img1.style.pixelLeft + 1; if((img1.style.pixelLeft >= xmin) && (img1.style.pixelLeft <= xmid_l )) { img1.style.visibility = 'hidden'; } if((img1.style.pixelLeft >= xmid_l) && (img1.style.pixelLeft <= xmid_u )) { img1.style.visibility = 'visible'; } if((img1.style.pixelLeft >= xmid_u) && (img1.style.pixelLeft <= xmax )) { img1.style.visibility = 'hidden'; } if(img1.style.pixelLeft >= xmax) { // x = 2; img1.style.pixelLeft = 0; } } function tm(){ // タイマー setInterval("move()",30); } </script> </head> <body onLoad="tm()"> <img src="./img/img2.gif" ID="img1" STYLE="position:absolute;top:100;left:200"> </body> </html>

専門家に質問してみよう