Programming」カテゴリーアーカイブ

プログラミング全般に関するカテゴリーです。

IPアドレスの取得方法

実行しているPCのIPアドレスの取得方法を調べてみました。

Windowsのコマンドプロンプト

> ipconfig

Windows IP 構成


Wireless LAN adapter ワイヤレス ネットワーク接続:

接続固有の DNS サフィックス . . . :
IPv4 アドレス . . . . . . . . . : 192.168.1.2
サブネット マスク. . . . . . . . : 255.255.255.0
デフォルト ゲートウェイ . . . . . : 192.168.1.1

Pythonのスクリプト

>>> import socket
>>> socket.gethostbyname(socket.gethostname())
'192.168.1.2'

サンプルでは192.168.1.2が取得したいIPアドレスになっています。

convertを使った画像の拡大縮小

アスペクト比を維持してリサイズ

ImageMagickではデフォルトでアスペクト比を維持するようになっていますので、何もしなければアスペクト比が維持されます。

横を300px、縦はアスペクト比が変わらないようにリサイズ

$ convert -resize 300x infile.jpg outfile.jpg

縦を200px、横はアスペクト比が変わらないようにリサイズ

$ convert -resize x200 infile.jpg outfile.jpg

アスペクト比を維持して横300px、縦200px以下のサイズにリサイズ

$ convert -resize 300x200 infile.jpg outfile.jpg

アスペクト比を維持して横300、縦200以上のサイズにリサイズ

$ convert -resize 300x200^ infile.jpg outfile.jpg

アスペクト比を無視してリサイズ

アスペクト比を無視したい場合は!フラグを使います。

アプペクト比を無視して横300px、縦200pxにリサイズ

$ convert -resize 300x200! infile.jpg outfile.jpg

備考

ファイルを上書きでサイズ変更したい場合はmodifyコマンドを使います。

$ mogrify -resize 300x200 file.jpg

画像をクロップ(トリミング)したい場合はcropコマンドを使います。

$ convert -gravity Center -crop 300x200+0+0 infile.png outfile.png

※切り取る位置を変更したい場合はCenterの代わりにNorth/South/East/Westなども使えます。

リンク

Resizing or Scaling — IM v6 Examples
https://legacy.imagemagick.org/Usage/resize/

Cutting and Bordering — IM v6 Examples
https://legacy.imagemagick.org/Usage/crop/

Pythonでファイルのアップロード

multipart/form-dataをPOSTしたい場合はMultipartPostHandlerを使うと簡単に送れて便利です。

import MultipartPostHandler, urllib2

opener = urllib2.build_opener(MultipartPostHandler.MultipartPostHandler)
params = { 'user': 'user', 'file': open('filename', 'rb') }
opener.open('http://example.com/upload/', params)