胶卷照相机怎么用

胶卷照相机怎么用,第1张

胶卷照相机分为手动和自动两种。
以135胶卷为例。打开照相机后盖,将胶卷装入A轴,拉出一小段胶片片头,安到B轴。关上后盖,手动或自动卷上片轴,即可开始拍摄(手动或自动进片),一般为30多张。拍完之后,手动或自动将胶卷倒回A轴,打开相机后盖取出胶卷盒(应留一小截片头,不可全部塞入胶卷盒),拿到照相馆冲印。

布光的话~分享点经验:1、伦勃朗布光(Rembrandt Lighting)
伦勃朗布光也称45°角布光,它以在主体面部阴影处形成小型三角形高光为特征。这一点是通过调低主灯高度,调远与相机的距离(相对于环形布光和派拉蒙布光)实现的;主灯就在主体边上,其位置取决于主体头部与相机的距离。填充光的布置方法与环形布光相同,但是功率设置上会稍弱一些,经常用来突出阴影面上的高光。头发光通常布置得离主体近些,以便在头发上营造更明亮的高光。背景光还是布置在标准位置。在这种设置中,强聚光常用来勾勒面部边缘。(注:要确保这些光线不会直接进入镜头,可以把手放在主体和相机之间强聚光的中心线上。如果手在镜头上投射了阴影,说明强聚光直接进入了镜头,应该进行调整。)
2、分割布光(SPLIT LIGHTING)
分割布光方式用在当主光只照亮主体半张脸的时候。这是调低主灯高度,调近主灯与主体间的距离而形成的一种布光方式。根据主体与相机距离的远近,主灯会布置在稍后于主体的位置。这种主光位置的安排会营造出一种很棒的主体变瘦的效果。这种布光方法还可以与用较弱的填充光隐藏面部的不平整的方法搭配使用。为了获得戏剧性的效果,可以在不用填充光的情况下使用分割布光方式。填充光、头发光和背景光都可以在分割布光方式中正常使用。
3、派拉蒙布光(PARAMOUNT LIGHTING)
派拉蒙布光有时也被称为蝴蝶布光或魅力布光,是指主灯被布置在很高的位置,直接照在主体面部前面。这样布光不仅会在主体的鼻子下面形成对称的、呈蝴蝶状的阴影,还会突出主体的颧骨和完美的皮肤。填充光被布置在比头部高的位置,直接在主光下面。因为主光和填充光都是从相机的同一侧照射过来的,所以可以从相反的方向用反光板为颈部较深的阴影和阴影中的面颊补光。头发光可以布置在与主光相对的方向,这样不会照到主体的脸上。背景光(如果用到)应该布置在主体背后较低的位置,形成一个半圆形的明亮背景。
4、环形布光(Loop Lighting)
环形布光是在派拉蒙布光基础上稍加改动而成的,非常适合拍摄常见的椭圆形面孔。将主光放置的高度降低,并向距离主体更近的方向移动,这样鼻子下面的阴影会在面部有阴影的一面形成一个小圆圈。将填充光布置在相机的另一侧,位置更接近相机。(注:一定要从相机的位置仔细检查,确保填充光不会把相机的影子投射到画面中。)在环形布光时,头发光和背景光的布置方法与派拉蒙布光是一样的。
环形布光是在派拉蒙布光基础上稍加改动而成的,非常适合拍摄常见的椭圆形面孔。
5、侧面或轮廓布光(Profile or Rim Lighting)
侧面或轮廓布光用在当主体头部与相机镜头呈90°角的时候。这是一种戏剧性的布光方式,用来强调主体优雅的容貌特征。虽然这种布光方式的使用频率已经远不如以前,但它仍不失为一种时尚的肖像布光方式。
要做到侧面布光,主灯要放在主体后面,这样可以照亮主体面部距离相机较远的一侧,并能沿着面部的轮廓留下优美的高光。布光时一定要小心,让光线主要用来强调面部,而不是头发和颈部。在使用这种布光方式时,填充光要布置在主光同侧,再用反光板对阴影部分进行补光。 可选的头发光可以布置在与主光相对的一侧,这样可以更好地把头发光从背景中分离出来。背景光可以像在其他方式下一样正常使用。
甚至可以用一支闪光灯作为背光,拍出非常优雅的新娘侧身肖像,勾勒出她的面部、颈部和面纱的轮廓。如果用日光作为填充光,只用一支灯就可以拍出优美的仿古侧面肖像。
填充光从主光下面、与主体的头部相同高度的位置直射过来。

其实,你的4张组成的拼图还是能看出连接缝的。使用“光影魔术手”可以做到和你的完全一样:

POCO相机软件 和 Split Lens软件都可以拼图。

POCO相机软件拼图是有缝的(可以直接在手机相册里选择的)。而 Split Lens软件拼图是真正无缝的(是在软件中先定好的排列,再进行拍照):

LOMO相机
LOMO是什么?
lomo的故事要从一部前苏联的古旧相机开始。
1984年,在原苏联一个专门生产军事光学镜片的工厂Leningradskije Optiki Mechanitscheskije Objedi nienie (Lomo)开始研发一种小型、可以随身携带的间谍相机LC-A 。
1991年,两个奥地利的学生在布拉格买到了这样一部造型古旧、颇有原苏联社会写 实主义风格的相机,因其特殊的成像效果及浓艳的色彩,吸引了众多年轻人的眼球,竟然成为地下艺术圈、文化圈的新宠儿。由于需求的呼声越来越高,这两个学生 在1995年跑到圣彼得堡去要求这个早已关闭的工厂重新开张,再生产Lomo相机。于是,LOMO真正诞生了。

LOMO——在国内又被译为“乐魔”或“乐摸”。
今时今日,如果你还以为“傻瓜摄影”意味着落后,那就是你远远落伍了,因为目前在 欧洲和日本,这种“LOMO随兴摄影风格”可是大大地盛行! 想拍什么就拍什么,连续拍,不理会正统的摄影规矩,只讲究个人的随意性、真实性。也许你不认为这是艺术行为,只不过是青春期的情绪发泄。但是,你错了!这 就是艺术,是一种新兴的摄影艺术!
Lomo一直都在寻找那自然的,即兴的美学。这是一种新的摄影取向,构图与对焦都 已过时,模糊与随机性才是潮流,才是经典。这种Lomo的态度解放了所有传统意念的追随者。不要想,只管拍!Lomo人并不会受古老摄影模式所限制。相片 就是Lomo的根本。没有甚么比新鲜的Lomo相片感觉更美妙的了。Lomo收集、欣赏并展示所有精彩的照片,有神秘的,愉快的,有模糊的,沉闷的, 简单点说,即是生活中的所有。

LOMO 不仅是摄影,更是一种生活方式
不要去考虑光圈与快门!不要去考虑光线与构图!不要去想你要去拍什么!用他当你的另一只眼睛,所见即拍,所拍即所得。但一定要告诉冲印的人:“这卷胶卷,无论里面是什么,老子通通都要。”这样你就开始与LOMO的最亲密接触了。

LOMO与数码相机----凡高与你隔壁家的老王
拥有一台LOMO,你不用去考虑他的更新换代,不用去考虑他的像素,不用去考虑电池寿命,不用等着被拍的人喊“茄子”。你只要确定好你现在的心情,Snap It!你要拍的不是一次苍白无力的 事件,而是你当时的状态。

LOMO WALL----独乐乐不如与人乐乐
LOMO体味生活,玩味生活,并与人分享生活,这就是LOMO的终极表现形式:LOMO WALL(LOMO墙)。把你和朋友的LOMO照片贴上整整一面墙,只考虑色彩就可以。这就是LOMO爱好者们分享各自生活状态与心情的方式。
这是一个没有大师的时代,艺术每时每刻都在我们身边……
选择一种生活方式,不高档,却风光无限;一种"Don't think,just shot"的拍摄态度,仿佛又一次从简单到复杂的轮回,LOMO就是Let Our Life be Magic and Open
分享LOMO;你可以带着眼睛和耳朵来观摩,感受LOMO;你也可以带着你心爱的LOMO相机来现场……
LOMO是一种带有复古色彩的流行体验,是充满未知和神秘感的摄影体验
LOMO是摄影世界里的一次颠覆性的革命,让拍照从有一种仪式感的体验变成了一种包含期待和憧憬的幻想。
“LOMO不止是一种创作性的摄影,而是一种存在的方式。
LOMO是一种即兴的、自由的、欢快的记录
LOMO是一种灵敏的嗅觉,是不设防的视觉之眼,是灵魂的无边状态,是一首朦胧诗或者一句纯粹的废话
把简单的过程复杂化,把复杂的美学简单化,把不完美艺术化
还原与颠覆成就了一种世界性的地下艺术潮流
这就是LOMO的精髓与魅力
LOMO集体照(非全部)
传 说中的Lomo Kompakt Automat是Lomo相机的鼻祖,来自俄国圣比德堡,它身段小巧,风格浓烈,性情主动,集细小、坚固、精确、自动于 一身,使无数崇拜者为之疯狂。精巧的32mm镜头以宽广的视角猎取世界,并赋予照片瑰丽大胆的色泽。夜晚或光线不足时,LC-A完美的自动曝光让快门维持 长达60秒的开启时间,创造独树一帜的诡异光影迷离氛围。这台相机是各种特殊功能最独特的结合!
拍出的照片:

Colorsplash相机让你手到拿来,为你的世界添上新色彩。先转动闪灯上的颜色轮,选择心水好色,然后对准目标–闪!不同的主题和闪灯颜色,配合不同的外来光线和暴光时间,就能产生无限潜在的技术和结果。
拍出的照片:

一架split cam能使你把整个世界分开成一个个部分,而且还能体会到“相片的融化效果”。split cam拥有一个多重暴光的镜头和暴光方式,能是你拍出的相片同时出现多个主体的画面!
举个例子:例如一个男孩的头可以接在一个女孩的身子上,或则在同一张相片上同是出现,左边一个开心的笑脸和右边一个悲伤的表情!
这相机可以使用四重全框架暴光,和普通拍摄模式,或则更多的其他的暴光方式都可以,都可以凭着你的想像尽情的发挥各种拍摄方式。
拍出的照片:

Holga 相机是一台120胶卷格式照相机。1982 年首次在香港生产。Holga可能是"非常明亮"及"腐败"的意思。 Holga照相机面世以来,在爱好者和lomo摄影师之中不断成长。为Holga制作的塑料透镜,布满许多严重的缺点,在边缘和色彩变型,塑料照相机机身 经常漏光,在影片前进和快门线之间没有连接, 在使用期间导致许多意想不到的多重曝光。
这是许多爱好者发现的最迷人的Holga特性,许多摄影师对Holga进行改装,使它照出来的相片更加具有不可预测性。
说Holga是全世界最便宜、最独特的120中幅相机一点也不过分,没用过120相机的朋友不妨一试,你会发现很多摄影的乐趣并沉迷其中!
即使是拍惯120的朋友也不妨一试,因为它总可以令你喜出望外!
在 多年前,有一位很有名气的法国时装设计师,不知从那里买到这一台相机。第一次拿上手时总觉得它很像玩具,但却令人对它充满好寄,很想知道它会拍出什么来。 于是那位设计师就尝试用它来拍照。 最后出来的结果真的吓了一跳,想不到这一台相机可以拍出如此独特的照片来,充满艺术的感觉,很漂亮!
从此那位设计师便到处介绍这一部相机给他的朋友认识,就这样,世界各地也开始很多人认识Holga了!
无可否认Hogla拍出来的照片很特别,很可能是因为它先天的缺陷,使拍出来的照片充满惊喜,非常有趣!
因为低成本的镜头,相片的四角会比较暗,有一种框的感觉,这种暗角的效果人们称为 --- Tunnel Effect(隧道效果)!
这一种效果可以把人的视线集中在画面的中间,加强视觉效果。
就是这种效果令很多人都爱上它!
拍出的照片:
公主系列:
艳丽的外表,高贵的造型,散发着夺目成熟的光芒,成为人群中的焦点。多款靓丽外壳,相机内置结构隐约可见,处处体现了神秘的气质。传统 35mm胶片配合花形镜头,简洁的取镜器,让你从容拍摄,创造奇幻梦境。
拍出的照片:
全自动四景连环照相机 超强超多功能 玩起来更加过瘾 又叫 "Babylon4" Sampler Camera这照相机使用35mm胶卷的135四镜照相机。在一幅135底片画幅(24mm x36mm)内拍摄四张照片,并可选择多种拍摄模式。适用于一般摄影及拍摄证件照运动照。摄影完成的胶卷可以和普通35mm胶卷一样进行冲洗和扩印相片现在在日本,韩国最时尚相机。
拍出的照片:
简介 :Horizon Kompakt - 纯米白色的Kompakt让你极容易掌握全景拍摄 光圈设定为f/8 , 只需要控制两个固定的快门速度, 室外日光使用快速模式, 室内和晚上使用慢速模式
特点 :
Horizon 为你带来摄影的新惊喜 我们最灸手可热的新成员 - The Horizon Panorama camera 全景摇动镜头相机 - Lomographic Society 和莫斯科Zenit相机厂合作, 为你独家呈献这台初次出现的俄罗斯全景相机: Horizon Kompakt!100% 来自Krasnogorsky (接近莫斯科) 配备的摇动镜头可涵盖从左到右的120度水平广角, 带你进入广阔的全景世界 只需要使用一般的35MM胶卷, 但它的双倍宽角度把拍摄范围扩大至58MM, 让你俯瞰更雄伟壮丽的画面 每一台Horizon都是由Zenit相机厂的工人以精密的手工制作 并把30年前的俄国全景相机科技再次展现
拍出的照片:

以四个超感光及精密的日本全景镜头制成,能准确捕捉四个连环动态。独有的拉绳设计确保你能随时捕捉。设计新颖,以立体胶盒作包装,再加144彩页相集,为你的观能带来无限刺激。以一般菲林及冲晒方法即可,简单易用。
Super Sampler为Lomographic相片带来全新概念!一按就得四格全景连环图案,无须观景器兼备独特拉环设计,轻易拍出精彩动态。机身轻巧、 *** 作简易、价钱合理,快让你的生活注入新情趣吧!
拍出的照片:

开 火吧! OKTOMAT连环快打! 好好把握这宝贵的25秒,做出最疯狂的事情吧! 一按快门, 8下"卡"声会有如机关q般狂风扫落叶!! 将你拍的影像平均分成8份 此机当然不能与荷里活的大制作相比, 不过, 相信我! 8个小画面已经可以变化成一个小故事 好! 现在幻想你是个导演, 但只有最最最最有限的资金 在这25秒和8格昼面内尽情发挥你的想像空间! 拍下小狗蹦跳嬉戏的画面, 把你的脸靠在镜头前面疯狂乱舞, 使劲踏单车的时候,在岸边跳跃下水的一刹 任何地方都是你的拍摄场地!
拍出的照片:
Fisheye No2加上各位引颈以待的强劲新功能, 留心了! 首先, 新增的长时间曝光设定让你的快门长时间开启, 可以把晚上的闪耀光线尽量吸收在镜头内! 大家最渴望的重覆曝光亦会出现, 任由你在同一格底片上重覆曝光很多很多次! 而Fisheye观景窗会让你看到真正的鱼眼拍摄角度 热靴插座则可配上Colorsplash Flash使用! 它将会无限量扩阔你的摄影眼界! Fisheye No2仍然保留了Fisheye最基本的原素和优点, 它的镜头能够涵盖170度超广阔角度, 把一个接近圆泡形的影像呈现在相片的中央 因为它的轻便, 容易携带, 以及配备内置闪光灯, 所以不论在白天或晚上, Fisheye No2都可以一直陪在你身边
拍出的照片:

经改良后四格Action Sampler更坚固、更耐热、一按就得四个不同图像,又可在LOMO网站内制作动画,好玩到极!包装精美,是送礼的不二之选。
精 彩绝伦的四格Action Sampler,以最简约的科技实践新鲜的摄影概念 - 没有对焦、光圈、快门上的限制,一按就能把相片一分为四,捕捉连环动态。以35mm菲林及普通冲晒方法便可。Action Sampler 还包括一卷胶卷,及一本使用说明书教你如何掌握此四格小玩意。
拍出的照片:
当然,好玩有意思的LOMIO相机还有很多很多。。。芭媚在这里就不一一介绍了。
接下来看看我用的相机拍出来的片片吧!
前面的是四格。。后面的是三格
价格低廉的芭比甜心胶卷!
接下来先发三格的照片:
对啦!以上的就是三格的照片了还不错吧??
恩。。。现在就该四格上场了:

1、实现原理:用户打开相册或相机选择相片后,相片经过压缩并设置在控件上,在本地sd卡存一份(如果有的话,没有则内部存储,所以还
需要判断用户是否挂载了sd卡),然后在服务器上存储一份该,当下次再次启动应用时,会默认去sd卡加载该,如果本地没有,再会去联网请求
2、使用了picasso框架以及自定义BitmapUtils工具类
3、记得加上相关权限
<uses-permission android:name="androidpermissionINTERNET"></uses-permission>
<uses-permission android:name="androidpermissionCAMERA"/>
<uses-permission android:name="androidpermissionWRITE_EXTERNAL_STORAGE"></uses-permission>
/
public class MainActivity extends AppCompatActivity implements ViewOnClickListener {
private ImageView iv;//要设置的头像
private Button btn_photo;//调用相册按钮
private Button btn_camera;//调用相机按钮
@Override
protected void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayoutactivity_main);
iv=(ImageView) findViewById(Ridiv);
btn_photo = (Button) findViewById(Ridbtn_photo);
btn_camera = (Button) findViewById(Ridbtn_camera);
btn_photosetOnClickListener(this);
btn_camerasetOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (vgetId()) {
case Ridbtn_photo://打开系统相册
Intent intent=new Intent(IntentACTION_PICK, MediaStoreImagesMediaEXTERNAL_CONTENT_URI);
startActivityForResult(intent,100);
break;
case Ridbtn_camera://打开系统相机
Intent intent2=new Intent(MediaStoreACTION_IMAGE_CAPTURE);
startActivityForResult(intent2,200);
break;
}
}
@RequiresApi(api = BuildVERSION_CODESKITKAT)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
superonActivityResult(requestCode, resultCode, data);
if(requestCode==100&&resultCode==RESULT_OK&&data!=null){//系统相册
Uri imageData = datagetData();
String path=getPath(imageData);
Bitmap bitmap = BitmapFactorydecodeFile(path);
Bitmap bitmap1 = BitmapUtilszoom(bitmap, ivgetWidth(), ivgetHeight());
Bitmap bitmap2 = BitmapUtilscircleBitmap(bitmap1);
//加载显示
ivsetImageBitmap(bitmap2);
//bitmap上传到服务器
//bitmap保存到本地
saveImage(bitmap2);
}else if(requestCode==200&&resultCode==RESULT_OK&&data!=null){//系统相机
Bitmap bitmap = (Bitmap) datagetExtras()get("data");
BitmapUtilszoom(bitmap,ivgetWidth(),ivgetHeight());
bitmap=BitmapUtilscircleBitmap(bitmap);
//加载显示
ivsetImageBitmap(bitmap);
//bitmap上传到服务器
//bitmap保存到本地
saveImage(bitmap);
}
}
/
数据的存储。(5种)
Bimap:内存层面的对象。

存储--->内存:
BitmapFactorydecodeFile(String filePath);
BitmapFactorydecodeStream(InputStream is);
内存--->存储:
bitmapcompress(BitmapCompressFormatPNG,100,OutputStream os);
/
private void saveImage(Bitmap bitmap) {
File filesDir;
if(EnvironmentgetExternalStorageState()equals(EnvironmentMEDIA_MOUNTED)){//判断sd卡是否挂载
//路径1:storage/sdcard/Android/data/包名/files
filesDir = thisgetExternalFilesDir("");
}else{//手机内部存储
//路径:data/data/包名/files
filesDir = thisgetFilesDir();
}
FileOutputStream fos = null;
try {
File file = new File(filesDir,"iconpng");
fos = new FileOutputStream(file);
bitmapcompress(BitmapCompressFormatPNG, 100,fos);
} catch (FileNotFoundException e) {
eprintStackTrace();
}finally{
if(fos != null){
try {
fosclose();
} catch (IOException e) {
eprintStackTrace();
}
}
}
}
//如果本地有,就不需要再去联网去请求
private boolean readImage() {
File filesDir;
if(EnvironmentgetExternalStorageState()equals(EnvironmentMEDIA_MOUNTED)){//判断sd卡是否挂载
//路径1:storage/sdcard/Android/data/包名/files
filesDir = getExternalFilesDir("");
}else{//手机内部存储
//路径:data/data/包名/files
filesDir = getFilesDir();
}
File file = new File(filesDir,"iconpng");
if(fileexists()){
//存储--->内存
Bitmap bitmap = BitmapFactorydecodeFile(filegetAbsolutePath());
ivsetImageBitmap(bitmap);
return true;
}
return false;
}
@RequiresApi(api = BuildVERSION_CODESKITKAT)
private String getPath(Uri uri) {
int sdkVersion = BuildVERSIONSDK_INT;
//高于442的版本
if (sdkVersion >= 19) {
Loge("TAG", "uri auth: " + urigetAuthority());
if (isExternalStorageDocument(uri)) {
String docId = DocumentsContractgetDocumentId(uri);
String[] split = docIdsplit(":");
String type = split[0];
if ("primary"equalsIgnoreCase(type)) {
return EnvironmentgetExternalStorageDirectory() + "/" + split[1];
}
} else if (isDownloadsDocument(uri)) {
final String id = DocumentsContractgetDocumentId(uri);
final Uri contentUri = ContentUriswithAppendedId(Uriparse("content://downloads/public_downloads"),
LongvalueOf(id));
return getDataColumn(this, contentUri, null, null);
} else if (isMediaDocument(uri)) {
final String docId = DocumentsContractgetDocumentId(uri);
final String[] split = docIdsplit(":");
final String type = split[0];
Uri contentUri = null;
if ("image"equals(type)) {
contentUri = MediaStoreImagesMediaEXTERNAL_CONTENT_URI;
} else if ("video"equals(type)) {
contentUri = MediaStoreVideoMediaEXTERNAL_CONTENT_URI;
} else if ("audio"equals(type)) {
contentUri = MediaStoreAudioMediaEXTERNAL_CONTENT_URI;
}
final String selection = "_id=";
final String[] selectionArgs = new String[]{split[1]};
return getDataColumn(this, contentUri, selection, selectionArgs);
} else if (isMedia(uri)) {
String[] proj = {MediaStoreImagesMediaDATA};
Cursor actualimagecursor = thismanagedQuery(uri, proj, null, null, null);
int actual_image_column_index = actualimagecursorgetColumnIndexOrThrow(MediaStoreImagesMediaDATA);
actualimagecursormoveToFirst();
return actualimagecursorgetString(actual_image_column_index);
}
} else if ("content"equalsIgnoreCase(urigetScheme())) {
// Return the remote address
if (isGooglePhotosUri(uri))
return urigetLastPathSegment();
return getDataColumn(this, uri, null, null);
}
// File
else if ("file"equalsIgnoreCase(urigetScheme())) {
return urigetPath();
}
return null;
}
/
uri路径查询字段

@param context
@param uri
@param selection
@param selectionArgs
@return
/
public static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) {
Cursor cursor = null;
final String column = "_data";
final String[] projection = {column};
try {
cursor = contextgetContentResolver()query(uri, projection, selection, selectionArgs, null);
if (cursor != null && cursormoveToFirst()) {
final int index = cursorgetColumnIndexOrThrow(column);
return cursorgetString(index);
}
} finally {
if (cursor != null)
cursorclose();
}
return null;
}
private boolean isExternalStorageDocument(Uri uri) {
return "comandroidexternalstoragedocuments"equals(urigetAuthority());
}
public static boolean isDownloadsDocument(Uri uri) {
return "comandroidprovidersdownloadsdocuments"equals(urigetAuthority());
}
public static boolean isMediaDocument(Uri uri) {
return "comandroidprovidersmediadocuments"equals(urigetAuthority());
}
public static boolean isMedia(Uri uri) {
return "media"equals(urigetAuthority());
}
/
@param uri The Uri to check
@return Whether the Uri authority is Google Photos
/
public static boolean isGooglePhotosUri(Uri uri) {
return "comgoogleandroidappsphotoscontent"equals(urigetAuthority());
}
/
判断本地是否有该,没有则去联网请求
/
@Override
protected void onResume() {
superonResume();
if(readImage()){
return;
}
}
}
//BitmapUtils工具类public class BitmapUtils { /
该方法用于将进行圆形处理
/ public static Bitmap circleBitmap(Bitmap source){ //默认只对宽进行处理 int width=sourcegetWidth(); Bitmap bitmap=BitmapcreateBitmap(width,width,BitmapConfigARGB_8888); Canvas canvas=new Canvas(bitmap); Paint paint=new Paint(); //设置抗锯齿 paintsetAntiAlias(true); canvasdrawCircle(width/2,width/2,width/2,paint); paintsetXfermode(new PorterDuffXfermode(PorterDuffModeSRC_IN)); canvasdrawBitmap(source,0,0,paint); return bitmap; } / 该方法用于压缩处理,注意width、height参数的类型必须是float / public static Bitmap zoom(Bitmap source,float width,float height){ Matrix matrix=new Matrix(); //进行压缩处理 matrixpostScale(width/sourcegetWidth(),height/sourcegetHeight()); Bitmap bitmap = BitmapcreateBitmap(source, 0, 0, sourcegetWidth(), sourcegetHeight(), matrix, false); return bitmap; }}
以上所述是小编给大家介绍的Android实现调用系统图库与相机设置头像并保存在本地及服务器 ,希望对大家有所帮助


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12931497.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存