2011-07-21 23 views
0

私はウェブサイトから画像を追加しようとしていますが、私はGoogle画像に移動していくつかの画像を追加しようとしているときに、私は "画像URLをコピーする"を見つけると私はそれを見つけることができないと私は "コピーリンクアドレス"を見つける。今私は "画像のURLをコピーする"を含む画像を追加することから制限するユーザーにしたい そして、あなたがもっと良い方法で私を理解するように。画像のURLを選択して制限する

enter image description here

enter image description here

私はそれをどのように行うのですか?ここで

は、画像を保存するためのコードです:トップのスクリーンショットで

Dim dir_name As String = txtDirectory.Text 
    If Not dir_name.EndsWith("\") Then dir_name &= "\" 

     For Each pic As PictureBox In flpPictures.Controls 
      Dim bm As Bitmap = CType(pic.Image, Bitmap) 
      Dim filename As String = CStr(pic.Tag) 
      filename = filename.Substring(filename.LastIndexOf("/") + 1) 
      Dim ext As String = filename.Substring(filename.LastIndexOf(".")) 

      'Here it gives me an error at(filename.lastindexof(".") 


      Dim full_name As String = dir_name & filename 

      Select Case ext 
       Case ".bmp" 
        bm.Save(full_name, Imaging.ImageFormat.Bmp) 
       Case ".gif" 
        bm.Save(full_name, Imaging.ImageFormat.Gif) 
       Case ".jpg", "jpeg" 
        bm.Save(full_name, Imaging.ImageFormat.Jpeg) 
       Case ".png" 
        bm.Save(full_name, Imaging.ImageFormat.Png) 
       Case ".tiff" 
        bm.Save(full_name, Imaging.ImageFormat.Tiff) 
       Case Else 
        MessageBox.Show(_ 
         "Unknown file type " & ext & _ 
         " in file " & filename, _ 
         "Unknown File Type", _ 
         MessageBoxButtons.OK, _ 
         MessageBoxIcon.Error) 
      End Select 
     Next pic 

     Beep() 

答えて

0
 'WEB CLIENT IS NEEDED TO DO THE DOWNLOAD 
     Dim MyWebClient As New System.Net.WebClient 

     'BYTE ARRAY HOLDS THE DATA 
     Dim ImageInBytes() As Byte = MyWebClient.DownloadData(url) 

     'CREATE A MEMORY STREAM USING THE BYTES 
     Dim ImageStream As New IO.MemoryStream(ImageInBytes) 

     'CREATE A BITMAP FROM THE MEMORY STREAM 
     PictureBox1.Image = New System.Drawing.Bitmap(ImageStream)
0

、あなたは右クリックした画像の上に直接あります。

下部のスクリーンショットでは、空のdivを画像の上に置くZインデックスで右クリックしています。

はここに例を示します

<a href="http://example.com"> 
    <img src="myImg.jpg" style="position: absolute;" /> 
    <div style="z-index:1; position:absolute; width:100%; height:100%;"></div> 
</a> 

すると、別のdiv要素がsaveable画像が含まれている上に示されているGoogle画像検索でのリンクの上にマウスを置きます。 Firebugで一見してみてください:)

ユーザーがあなたのウェブサイトから画像を保存するのを防ぐ完全な方法はありません。右クリックを無効にしたり、divで画像をマスクしたり、透過的な画像で画像をマスクしたり(ユーザーが画像を右クリックして保存して間違ったものにすることも可能)、キャッシングなどを防ぐこともできます。これを回避してください。それでも、これらのアプローチはカジュアルなユーザーを止めるので、何もないよりも優れています。私がちょうど命名した方法についてもっと知りたいのであれば、グーグルで「画像を保存しないようにする」または「画像URLをコピーしない」と勧めてください。

+0

多分役立つは、あなたの貴重な情報をありがとう、実際に私は、WinFormsのに働いていると私は、「コピーリンクをクリックしたときに、私は実際に間違っamgoingところ、私はここに私のコードを貼り付けていますあなたは私を提案しますアドレス "とそれを保存すると正常に動作しますが、" Copy Image URL "をクリックして保存すると、StartIndexがゼロより小さくなることができないため、エラーが発生します。 パラメータ名:startIndex –

+0

ファイル名変数に "。"が含まれていません。キャラクター。 LastIndexOf()は-1を返します。 filename = filename.Substring ...行にブレークポイントを設定し、filenameに実際にどのテキストが含まれているかを確認します。 –

+0

?q = tbn:ANd9GcQ0eso3iqHUd7IBeh0zD6oC4hYFDwUGPXg0A6xyynfz9EJ6kA9tこれは私がファイル名に入っているものです。 –

0

 

Sub Base64Convert(ByVal Base64MSG As String) 
     'Setup image and get data stream together 
     Dim img As System.Drawing.Image 
     Dim MS As System.IO.MemoryStream = New System.IO.MemoryStream 

     Dim b64 As String = Base64MSG 
     Dim b() As Byte 

     'Converts the base64 encoded msg to image data 
     b = Convert.FromBase64String(b64) 
     MS = New System.IO.MemoryStream(b) 

     'creates image 
     img = System.Drawing.Image.FromStream(MS) 

     'writes image for displaying 
     img.Save(Request.ServerVariables("APPL_PHYSICAL_PATH") & "LabelInfo.tiff", System.Drawing.Imaging.ImageFormat.Tiff) 
     'cleaning up house 
     img.Dispose() 
     MS.Close() 
End Sub 

関連する問題