라벨이 Image인 게시물 표시

python 과 node express 사이 이미지 주고 받기 구현

Client 는 Python 으로 작성 되었으며 Server 는 node express 로 된 시스템입니다. 양쪽 모두 웹소켓을 사용했습니다. 이미지를 서로 주고 받는데 한참을 헤메었네요. 일단 이미지를 base64 로 변환해서 json 으로 패키징 하여 서버에 전송하고 서버에서 받은 base64 데이터를 이미지로 변환하여 저장하는 로직입니다. python 에서 이미지를 data에 가져오는 방법입니다. data = io. BytesIO () picam2.capture_file(data, format = ' jpeg ' ) print (data. getbuffer ().nbytes) 가져온 이미지를 base64 로 변환한 후 다시 전송을 위한 데이터로 변환합니다. img_base64 = base64. b64encode (data. getbuffer ()). decode ( ' utf-8 ' ) 전송할 데이터로 패키징 합니다. responseData = { " type " : " camera " , " device_id " : device_id, " data " : img_base64 } 이제 웹소켓을 이용해서 전송합니다. responseStr = json. dumps (responseData) ws .send(responseStr) 이제 node express 에서 전송된 데이터를 받아서 이미지 처리하는 로직입니다. 받은 데이터로 이미지로 변환합니다. const image = Buffer. from (data, ' base64 ' ) 변환된 이미지를 저장합니다. writeFileSync ( ' image.jpg ' , image ) 정리해놓고 보니 간단하지만 로직을 이렇게도 해보고 저렇게도 해보고 한참을 헤메었습니다. 나중에 다시 참고할 때 편하도록....

Flutter 에서 카메라로 찍은 이미지 사진첩에 저장하고 가져오는 방법

이미지
Flutter 에서 카메라로 사진을 찍고 저장해서 가져올때 getApplicationDocumentDirectory 의 위치가 실행때마다 달라진다. 내가 찾은 방법은 이렇다. 사진을 Photo Library 에 저장하고 가져와서 사용하면 된다. 일단 저장하는 방법은 이렇다. 이제 가져올때 이런 방법으로 가져온다. 앨범을 가져오고 앨범의 이미지들을 리스트에 넣고 거기서 ID 값을 비교하면 된다. 이미지 표출은 이런 방식으로 한다. 테스트 해보니 잘된다.

[swift] Scrolling Background 구현하기

스프라이트 키트를 사용해서 아래와 같이 하면 된다. import SpriteKit class GameScene: SKScene {     // 전역 선언     let backRoad1 = SKSpriteNode (imageNamed: "grass_bg_02" )     let backRoad2 = SKSpriteNode (imageNamed: "grass_bg_02" )          let backFlower1 = SKSpriteNode (imageNamed: "grass_bg_03" )     let backFlower2 = SKSpriteNode (imageNamed: "grass_bg_03" )          var deltaRoad: CGFloat = 120.0     var deltaFlower: CGFloat = 20.0          override func didMoveToView(view: SKView ) {         /* Setup your scene here */         // 배경         let imageField = UIImage (named: "grass_bg_01" )         let textureField = SKTexture (image: imageField!)         let backField = SKSpriteNode (texture: textureField, size: self . frame . size )         backField. anchorPoint = CGPointZero         backField. zPosition = - 3         self . addChild (backField)         // 길         backRoad1 . anchor

[iOS] ImageView 를 다른 메소드에서 변경시키기

버튼을 클릭하면 이미지뷰의 이미지를 변경하도록 메소드를 만들었다. 이벤트 발생에서 해당 메소드를 호출하도록 만들었다. -( void )touchesBegan:( NSSet *)touches withEvent:( UIEvent *)event {   UITouch *touch = [touches anyObject ];   CGPoint location = [touch locationInView : self . mainView ];         //ima01 을 사용자가 터치했는지 여부 판단     if ( CGRectContainsPoint ( self . img01 . frame , location))     {       [ self calendarTouch : 0 ];     } } 이런식으로 작성하였다. 이를 받아주는 메소드는 아래와 같다. - ( void )calendarTouch:( int )touch_i {     [ self touchChangeImage :[ NSNumber numberWithInt :touch_i]]; } 여기서 호출하는 메소드는 또 다음과 같다. - ( void )touchChangeImage:( NSNumber *)snd_i {     // 선택 이미지 적용     int touch_i = [snd_i intValue ];     UIImageView *touchIV = ( UIImageView *)[ self . mainView viewWithTag :touch_i + 201 ];     if ([ self image :touchIV. image isEqualTo : cImage_A ]) {         touchIV. image = tImage_CA ;     } } 작동이 잘 되었다. 하지