たまに公開されている画像を右クリックを押しても
画像を保存できないようになっているページを見かけます。

これはどのようにやっているのでしょうか?

またこれは一般のHPでもできることなのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>これはどのようにやっているのでしょうか?



JavaScriptを使って実現できます。
詳しくは下記URLを参考にしてください。

ただし、右クリック禁止になっていても
ブラウザをJavaScript無効に設定すれば右クリックできてしまいます。

参考URL:http://tohoho.wakusei.ne.jp/wwwxx032.htm
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
とほほのWWW入門 にいってみてきました。
ですが、

>ウェブページの一括ダウンロードなどに対しては無力です。

と書いていました。これは防ぐことはできないものでしょうか?

お礼日時:2001/07/25 12:32

>>ウェブページの一括ダウンロードなどに対しては無力です。


>と書いていました。これは防ぐことはできないものでしょうか?

JavaScriptを無効にする、画像のアドレスを直接入力する、PrintScreenキーを使うなどのように
一括ダウンロード以外にも画像を保存する方法はいくらでも存在するため
画像保存を完全に防ぐことは不可能です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qファイルを右クリックしたときに出るプロパティーにタブを追加したいのですが・・・

タイトルの通りです。
具体的にはHashTab Shell Extensionのような感じでタブを追加してその中にプログラムを作りたいのですが、そのような解説をしているところが見つかりません。
もしご存知でしたら教えてください。

言語はC、C#、JAVA、Delphiのどれかで教えていただけると嬉しいです。
よろしくお願いします。

Aベストアンサー

私はそういったプログラムを作ったことはないのですが、
IShellPropSheetExtインターフェース
を使うとできるようです。

参考URL:http://www.codeproject.com/KB/shell/shellextguide5.aspx

Q右クリックで複数のファイルを同時に読み込んで起動

デスクトップ上の任意のファイルを右クリックし、出てきたメニューを選択して起動するソフトを作成しています。

現在、レジストリに
"プログラム名" "%1"
と追加して、一応、希望通りの動きをしてくれるのですが、一つ不満があります。

この方法だと、引数に1つしかファイルが読み込まれないので、同時に複数のファイルを指定して実行すると、一度に複数回プログラムが起動してしまいます。できれば、選択したすべてのファイルを引数に入れて、プログラムを1回だけ起動したいのですが、どうしたらよいのでしょうか?

"%1"の代わりの文字を指定すればいいような気がするのですが、解説ページが見つからず他にどのような指定方法があるのかが分からない状態です。

Aベストアンサー

%*

QUWSCを使って画像リンクをクリックするとき???

UWSCを使って画像リンクをクリックするとき???

先日UWSCをダウンロードし、画像リンクを自動でクリックするスクリプトを作りました。
インターネット上で、商品を選んで「予約購入する」という画像リンクをクリックしたいのですが

Ifb CHKIMG("予約購入する.bmp") = TRUE THEN
  BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y)
Endif

のように作っても全く動きません。
UWSC40ファイルの中に予約購入する.bmpを保存してます。

うーん一体どうして?昨日から調べているけど全くわかりません。
回答よろしくお願い致します。

Aベストアンサー

別の内容になってきてしまうのでこれ以上のことは別スレたててね
ウィンドウタイトルを取得してアクティブかさせてPageDownキーの入力を追加してみました

OPTION EXPLICIT
Dim x_max,y_max,TITLE,STEP_END
Dim i,id
x_max=1000 //検索範囲x方向最大
y_max=1000 //検索範囲y方向最大
TITLE="Firefox" //ウィンドウのタイトル
STEP_END=3 //pagedownを繰り返す数

id=GETID(TITLE)
MSGBOX("画像認識")
FOR i=0 TO STEP_END STEP 1
ifb CHKIMG(".\question.bmp",0,0,0,x_max,y_max,0,IMG_MSK_BGR4)
CTRLWIN(id,ACTIVATE)
BTN(LEFT, CLICK,G_IMG_X, G_IMG_Y)
MSGBOX("画像ありました")
else
 MSGBOX("画像なし")
Endif
CTRLWIN(id,ACTIVATE)
KBD(VK_NEXT,CLICK)
NEXT

別の内容になってきてしまうのでこれ以上のことは別スレたててね
ウィンドウタイトルを取得してアクティブかさせてPageDownキーの入力を追加してみました

OPTION EXPLICIT
Dim x_max,y_max,TITLE,STEP_END
Dim i,id
x_max=1000 //検索範囲x方向最大
y_max=1000 //検索範囲y方向最大
TITLE="Firefox" //ウィンドウのタイトル
STEP_END=3 //pagedownを繰り返す数

id=GETID(TITLE)
MSGBOX("画像認識")
FOR i=0 TO STEP_END STEP 1
ifb CHKIMG(".\question.bmp",0,0,0,x_max,y_max,0,IMG_MSK_BGR4)
CTRLWIN(id,ACTIV...続きを読む

QVBAでボタンを押すと指定したセルの色が白く、もう一度押すと黒くするには。

現在エクセルでいろんな計算式が入ってものを作りました。
ですが問題がでてきてしまって、印刷時に表示しないで印刷したい箇所が何カ所かあるのです。 
その箇所が、A1~A10、B5、B7~B22 セルなのですが、
現在ボタンを設置したので、それを押すことで、このセルだけ表示しないようにしたいのですが、一番いいかなと思いついたのが、ボタンを押すだけで色が白くなり、画面に打つさないプログラムです。
そしてもう一度そのボタンを押すと指定セルが黒くなるというものです。
これができれば仕事上でかなり役立つプログラムとなり、現在の悩みが解決いたします。
どうかわかる方がいましたら教えて頂けないでしょうか?
お願い致します。

Aベストアンサー

補足された条件のマイナス値だけを赤にします。

Sub sample()

Dim c As Range

If Range("A1").Font.ColorIndex <> 2 Then
Range("A1:A10, B5, B7:B22").Font.ColorIndex = 2
Else
For Each c In Range("A1:A10,B5,B7:B22")
If c.Value < 0 Then
c.Font.ColorIndex = 3
Else
c.Font.ColorIndex = xlColorIndexAutomatic
  End If
Next
End If

End Sub

End Sub

Q一般のソフトで画像を扱う場合、解像度が2のべき乗だと効率がいい?

一般のソフトで画像を扱う場合、解像度が2のべき乗だと効率がいい?

ゲームの開発などで画像を扱う場合、解像度が 256×256pixel とか 512×512pixel というように、2のべき乗にすることになっています。
その方がメモリの効率がいいからだと聞いています。

では、一般のパソコンソフトでも同じことが言えるのでしょうか?
Office や Photoshop や 3DCGのソフトで画像を読み込む場合でも、解像度を2のべき乗にした方がメモリの効率がいいのでしょうか?

Aベストアンサー

例えば、 3Dゲームで画像を使うものに、マッピングがありますが。
表示内容に合せて拡大縮小する際には、乗除算が多く使われます。
例) 表示画像幅 w の 座標x (0≦x≦w)に対応する 幅Wの元画像の座標Xは
X= ( x / w ) * W
= W * x / w
逆に, Xに対する xは
x = w * X / W

一般的に、乗除算は、加減算に比べて時間のかかる演算です。
しかし、2の整数べき乗の乗除算に限れば、計算を早くできます。
演算が整数なら、 べき乗数の分ビットシフトするだけです。
演算が浮動小数点なら、コンピュータの内部表現は 仮数 * 2^n なので、このnを加減算するだけです。

計算量の多い3Dグラフィックでは、こういう小さな積み重ねが大きく影響します。


また、最近の32bitや64bit等のCPUでは、データはまとめて4バイト8バイト単位でアクセスするようになっているのが多いです。
そのため、中途半端なアドレスからアクセスするのは効率が悪いです。
Windowsのbitmap形式等、このような制限を回避するために、水平方向のデータは4の倍数になるように、ダミーのデータを入れています。
これが、(4以上の)2のべき乗幅なら、絶対4の倍数になるので、ダミーの必要がありません。

あとは、高速フーリエ変換は2のべき乗に限定した高速化手法です。


これが、一般のソフト、となると、なんとも言えません。
内部でどんな風にあつかってるかわからないからです。
また、「効率」にも速度的なものと空間的なものがあって、排他的な傾向のものが少なくありません(高速なのは容量を使う,省容量では速度が遅くなる)

また、元のべき乗でない画像を、べき乗解像度に変換するには、拡大か縮小が必要ですが、拡大すればその分必要な容量が増えますし、縮小すれば画質が落ちます。
例えば、 320x320を512x512にすれば、画素数は約2.6倍です。いくらべき乗サイズが効率が良いとしても、2.6倍の容量と相殺以上の効果があるとは思えません。


これらのうち、3DCGソフトについては、マップ用にはべき乗サイズしか受け付けない、とか、自動で変換するとかしているかもしれません。

例えば、 3Dゲームで画像を使うものに、マッピングがありますが。
表示内容に合せて拡大縮小する際には、乗除算が多く使われます。
例) 表示画像幅 w の 座標x (0≦x≦w)に対応する 幅Wの元画像の座標Xは
X= ( x / w ) * W
= W * x / w
逆に, Xに対する xは
x = w * X / W

一般的に、乗除算は、加減算に比べて時間のかかる演算です。
しかし、2の整数べき乗の乗除算に限れば、計算を早くできます。
演算が整数なら、 べき乗数の分ビットシフトするだけです。
演算が浮動小数点なら、コンピュータの内部表現は 仮数...続きを読む


人気Q&Aランキング

おすすめ情報