Jcrop ve Asp.net ile Resimleri Kesme (Örnek Dahil)

Jcrop ve Asp.net Kullanarak Resimleri KesmeBu yazımda jQuery eklentisi olarak geliştirilen Jcrop script kütüphanesini kullanarak web projelerinde resimleri / fotoğrafları nasıl düzenleyebileceğimizi göstermeye çalışacağım. Bu script kütüphanesi ile Asp.net projelerinde çok gelişmiş resim / fotoğraf düzenleme araçları hazırlanabilir. Ben de buna örnek olması açısından küçük bir örnek hazırladım. Hem Jcrop script kütüphanesini hem Ajax işlemlerini hem de C# kodlarını kullandığım güzel bir uygulama oldu. Script kütüphanesi sayesinde resim / fotoğraf üzerinde belirli alanı seçebiliyoruz. Seçtiğimiz alanı Ajax ve C# (Generic Handler) kullanarak gösterebildiğimiz ve kayıt edebildiğimiz küçük bir editör örneği oldu. Bu bakımdan bu konularla ilgili örnek arayanlara oldukça faydalı olacağını düşünüyorum. Şimdi bu örneği ve neler yaptığımızı detaylıca görelim.

Kod kısmına fazla girmeden hazırladığım örneği ve genel mantığını anlatacağım. Merak edenler örneği indirerek kodları inceleyebilirler.

Öncelikle bu script eklentisi ile resim / fotoğraf üzerinde belirli koordinatları script tarafında elde ediyoruz. Kullanıcı bu değerleri istediği gibi olması gereken aralığı aşmadan belirleyebiliyor. Bu kısımdan sonra seçilen alanı göstermek veya kaydetmek için server taraflı bir kodlama gerekiyor. Php, Asp veya başka dilleri bilenler bu işlemi o diller ile yapabilirler. Ben C# ve Asp.net ile geliştirdiğim örnek üzerinden gideceğim. Server taraflı kodlamada resim üzerinde hangi alanların seçildiğinin bilgisi gerekir. Bu bilgiyi jQuery Ajax ile kullanıcı tarafından sunucuya Asp.net içinde tanımlı olan Generic Handler dosyalarına iletiyoruz ve bu dosyalar ile seçili resimlerin gösterimi, kayıt edilmesi işlemlerini gerçekleştiriyoruz. Bu işlemde mantık tamamen bu.

Tüm anllattıklarımı gösteren örneği burada çalışır halde görebilir ve buradan indirebilirsiniz.

Fazla kod türü içerdiği için kodlamaya girmiyorum. Jcrop hakkında ve detaylar hakkında buradanbilgi edinebilirsiniz. C# tarafında da belirli bir dizindeki resim / fotoğrafları alıp listeletiyoruz, resimlerin / fotoğrafların belirli bölümünü alıp kayıt ediyoruz veya bu bölümü Generic Handler yardımı ile gösteriyoruz. Bu işlemler daha önce bloğumda paylaştığım örneklerle ve kodlarla tamamen aynı. Bu yüzden fazla detaya girmiyorum.

Umarım ilgilenenlere ve merakı olanlara yardımcı olur veya fikir verir.
İyi Çalışmalar.

Dünyada Kullanılan Programlama Dilleri Sıralaması – Aralık 2009

Ekran Al1nt1s1[5]

Öğrencisi olduğum Çanakkale 18 Mart Üniversitesi Bilgisayar Mühendisliği bölümünde yukarıdaki tabloda gösterilen dillerden 1. sırada bulunan Java programlama dili dersi 3. sınıfın güz döneminde seçmeli olarak görsel programlama dersinde verilmektedir.2. sırada bulunan C programlama dili  1. sınıf bahar döneminde yapısal programlama dersinde verilmektedir.Bu yıl 3. sıraya yerleşen PHP web programlama dili 2. sınıfın bahar döneminde Web Tasarımı ve Programlama dersinde verilmektedir.4. sırada bulunan C++ programlama dili 2. sınıf güz döneminde nesne yönelimli programlama dersinde verilmektedir.7. sırada bulunan Python programlama dili 1. sınıf güz döneminde algoritma dersinde verilmektedir.8. sırada bulunan Javascript ise yine 2. sınıf bahar döneminde Web Tasarımı ve Programlama dersinde gösterilmektedir.

Yurtdışından Gelen Telefonu Pasaport Olmadan Kıbrıs (KKTC) Giriş-Çıkışı ile Kayıt Ettirme

Yurtdışından getirdiğiniz telefon için ilk olarak Ziraat Bankasına (Halkbank veya Vergi Dairesi de olur ama para yatırırken TC Kimlik No ile işlem yapılmasına özen gösterin değilse paranız boşa gider) 115 TL yatırın. Ardından E-Devlet şifreniz yoksa PTT den E-Devlet şifrenizi alın ve www.turkiye.gov.tradresinden giriş yapınız.
Giriş yaptıktan sonra sol taraf menüde bulunan Başvurular bölümünden BTK IMEI kaydet linkine basınız.
Açılan ekranda “Durum” kısmına “Pasaport dışında bir belge ile yurda giriş yapıldı seçeneğini seçin.” Cep Telefonu numaranızı yazın. IMEI No 1 kısmına getirdiğiniz telefonun IMEI kodunu yazın. Belge Türüne Nüfus Cüzdanı seçin, Belgenin ait olduğu ülkeye Türkiye deyin, Giriş Yapılan Belge No kısmına Nüfus Cüzdanınız üzerinde bulunan 6 haneli seri no yu yazın ve giriş yapılan tarihide Havaalanından Türkiyeye giriş yaptığınız tarihi seçiniz ve devam et butonuna basarak işleminizi tamamlayınız.

Android Network(Wifi,3G) Lokasyon Bilgisi Alma

private LocationManager loc;
private String provider;
public Location location;
loc = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
provider=LocationManager.NETWORK_PROVIDER;
location = loc.getLastKnownLocation(provider);
if (location != null) {
int lati = (int) location.getLatitude();
int longi = (int) location.getLongitude();
}

Android GPS Lokasyon Bilgisi Alma

private LocationManager loc;
private String provider;
public Location location;
loc = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
provider = LocationManager.GPS_PROVIDER;
location = loc.getLastKnownLocation(provider);
if (location != null) {
int lati = (int) location.getLatitude();
int longi = (int) location.getLongitude();
}

Android Kamera Kullanımı

paket com.hero.camera;

ithalat java.io.ByteArrayOutputStream,
ithalat android.app.Activity,
ithalat android.content.Intent,
ithalat android.graphics.Bitmap,
ithalat android.graphics.Bitmap.CompressFormat,
ithalat android.os.Bundle;
ithalat android.view.View ,
ithalat android.widget.Button,
ithalat android.widget.ImageView;

public class MyCameraActivity Etkinliği {uzanır
; özel statik final int CAMERA_REQUEST = 1888
Özel ImageView ImageView’ın;

@ Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
this.imageView = (ImageView) this.findViewById (R.id.imageView1);
Düğme photoButton = (Düğme) this.findViewById (R.id.button1);
/ / resim cek Butonuna basilinca kameranin acilmasini Sağlar
photoButton.setOnClickListener (yeni View.OnClickListener () {

public void onClick (View v) {
Niyet cameraIntent = new Intent (android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult (cameraIntent, CAMERA_REQUEST);
}
});
}

/ / Kamera ile resim cekildikten SONRA bitti Butonuna bastiktan SONRA resmin imageview de gosterilmesini Sağlar
void onActivityResult (int requestCode, int ResultCode, niyet data) {korumalı
if (requestCode == CAMERA_REQUEST && ResultCode == RESULT_OK) {
Bitmap resim = (Bitmap) veri . getExtras () (“veri”) olsun;.
imageView.setImageBitmap (fotoğraf);
}
}
}

Android Facebook Paylaş Kodu (Android Paylaş Facebook)

shareIntent = null Niyet;
shareIntent = new yapılacak metin Buraya yazılacak “); pm = v.getContext () getPackageManager ();.activityList = pm.queryIntentActivities (shareIntent, 0); (son ResolveInfo uygulaması için: activityList) {Dize aaa = app.activityInfo.name; if ( . “com.facebook.katana.activity.composer.ImplicitShareIntentHandler” eşittir (app.activityInfo.name)) {son ActivityInfo etkinlik = app.activityInfo; nihai ComponentName name = new ComponentName (activity.applicationInfo.packageName, |

Android GMaps V2 Örnek Proje

1 -) Eclipse acip, çökme işlemi Toplam yeni Android Uygulama Projesi diyerek projemizi oluşturalım, 4.2.2 Google seçelim Indeks, ARDINDAN projeye Sağ Tıklayarak ihracat deyip C: \ Program Files \ Java \ jdk1.6.0 bin \ icine deneme.keystore dosyasini Oluştur.
2 -) Error? Çalıştıra CMD yaz ARDINDAN CD Ile C:. \ Program Files \ Java \ jdk1.6.0 bin git \ keytool-list-v-deposu deneme.keystore diyerek oluşturulan SHA1 keyfingerı alalım A.Ş.
3 -) https://cloud.google .com / konsol önünüze Proje oluşturma diyelim Proje adımızı yazalım sms doğrulaması for Tel no isteyecektir ettik. Telefona Gelen sms teki kodu Doğrulama Kodu ekranına Girin projenizi oluşturun ettik. ACILAN bakmak ekranda API’LARI & auth Butonuna basalım. Google Maps Android API v2 yanındaki Listeden OFF Butonuna basıp ON yapalım
4 -) ARDINDAN sol Taraf menüdeki API’ler Altındaki Kimlik basalaım Kamu API erişim Altındaki Create New Keye basalım ACILAN bakmak Pencerede Adnroid Keye basalım ARDINDAN 2. Adımda bulmus oldugumuz SHA1 keyini paket ismini arasına projemizin ettik; koyarak (Örneğin 45: B5: E4: 6F: 36: AD: 0A: 98:94: B4: 02:66:2 B: 12:17: F2: 56:26: A0: E0; com.example) yazıp tamam diyelim.
5 -) Oluşturulan keyi alip uygulamamızda kullanabiliriz.
6 -) Eclipste ithalat deyip C: \ Program Files \ Android \ android-sdk \ ekstralar google \ \ google_play_services \ libproject seçelim IsLibrary butonunu seçili yapıp Tamam diyelim android versiyonu 4.2.2 Google seçelim ettik.
7 -) 1. Adımda oluşturduğumuz projenin android.manifest.xml dosyasina
uygulama tag’i icine aşağıdaki kodu ekleyelim android: name = “com.google.android.maps.v2.API_KEY” android: value = “. Buraya 5. adımdaki keyi yazalım” /> 8 – manifest dosyasina uygulama tagının disina aşağıdaki Kodları ekleyelim  <uses -permission android:name=”your.package.name.permission.MAPS_RECEIVE”> </ kullanır> <kullanır-izin android: name = “android . permission.WRITE_EXTERNAL_STORAGE “> </ kullanır> <uses -permission android:name=”android.permission.INTERNET”> </ kullanır> <uses -permission android:name=”android.permission.ACCESS_FINE_LOCATION”> </ kullanır> <uses -permission android:name=”android.permission.ACCESS_COARSE_LOCATION”> </ kullanır> <uses -permission android:name=”android.permission.ACCESS_NETWORK_STATE”> </ kullanır> <kullanır-izin android: name = “com . google.android.providers.gsf.permission.READ_GSERVICES “> </ kullanır><permission android:name=”your.package.name.permission.MAPS_RECEIVE” android:protectionLevel=”signature”> </ izin> [/ code ]

DAHA SONRA projemize Sağ işlemi Toplam yeni sınıf deyip Adına MapsActivity yazarak aşağıdaki kodu kopyalayıp çalıştıralım

paket your.package.name;

ithalat java.util.Timer,
ithalat java.util.TimerTask;

ithalat com.google.android.gms.common.ConnectionResult,
ithalat com.google.android.gms.common.GooglePlayServicesUtil,
ithalat com.google.android.gms.maps.CameraUpdateFactory;
ithalat com.google.android.gms.maps. GoogleMap,
ithalat com.google.android.gms.maps.GoogleMap.OnMapClickListener,
ithalat com.google.android.gms.maps.GoogleMap.OnMapLongClickListener,
ithalat com.google.android.gms.maps.GoogleMap.OnMarkerDragListener;
ithalat com. google.android.gms.maps.MapFragment,
ithalat com.google.android.gms.maps.model.LatLng,
ithalat com.google.android.gms.maps.model.Marker;
ithalat com.google.android.gms.maps . model.MarkerOptions,
ithalat com.google.android.gms.maps.model.Polygon,
ithalat com.google.android.gms.maps.model.PolygonOptions;

ithalat android.location.Location,
ithalat android.os.Bundle,
ithalat android.annotation.SuppressLint,
ithalat android.app.ActionBar,
ithalat android.app.Activity,
ithalat android.app.AlertDialog,
ithalat android.app.FragmentManager;
ithalat android.app.FragmentTransaction,
ithalat android.support.v4.app.FragmentActivity,
ithalat android.view.Menu,
ithalat android.view.MenuItem,
ithalat android.widget.TextView,
ithalat android.widget.Toast;

public class MapsActivity Aktivite OnMapClickListener, OnMapLongClickListener, OnMarkerDragListener {uygular uzanır

= 1 final int RQS_GooglePlayServices;
Özel GoogleMap myMap;

Yer MyLocation;

boolean markerClicked;
PolygonOptions polygonOptions,
Poligon çokgen;

@ Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_maps);

ActionBar actionBar = getActionBar ();
actionBar.setSubtitle (“Emrah KAHRAMAN”);
actionBar.setTitle(“emrahkahraman.com.tr”);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);
actionBar.show();

FragmentManager myFragmentManager = getFragmentManager ();
MapFragment myMapFragment
= (MapFragment) myFragmentManager.findFragmentById (R.id.map);
myMap = myMapFragment.getMap ();

myMap.setMyLocationEnabled (true);

myMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
myMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new (39.846042,32.909092) EnlBoy, 13));
MarkerOptions işaretleyici = new MarkerOptions ();
marker.position (yeni LatLng(39.846042,32.909092));
marker.title(“Burdayım”);
marker.snippet(“Burası”);
myMap.addMarker(marker);
myMap.setOnMapClickListener(this);
myMap.setOnMapLongClickListener(this);
myMap.setOnMarkerDragListener(this);

markerClicked = false;

}

@ Geçersiz kılma
onOptionsItemSelected kamu boolean (Menuıtem madde) {
switch (item.getItemId ()) {
: case R.id.map
Dize LicenseInfo = GooglePlayServicesUtil.getOpenSourceSoftwareLicenseInfo (
; getApplicationContext ())
AlertDialog.Builder LicenseDialog = new AlertDialog.Builder (MapsActivity. this);
LicenseDialog.setTitle (“Yasal Uyarılar”);
LicenseDialog.setMessage (LicenseInfo);
LicenseDialog.show ();
return true;
}
super.onOptionsItemSelected (öğeyi döndürmek);
}

@ Override
protected void onResume () {

super.onResume ();

int ResultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable (getApplicationContext ());

if (ResultCode == ConnectionResult.SUCCESS) {
Toast.makeText (getApplicationContext (),
“isGooglePlayServicesAvailable BAŞARI”,
Toast.LENGTH_LONG) show ();.
} else {
GooglePlayServicesUtil.getErrorDialog (ResultCode, bu, RQS_GooglePlayServices);
}

}

@ Override
public void onMapClick (EnlBoy noktası) {
myMap.animateCamera (CameraUpdateFactory.newLatLng (nokta));

markerClicked = false;
}

@ Override
public void onMapLongClick (EnlBoy noktası) {
myMap.addMarker (yeni MarkerOptions ()
. pozisyon (nokta)
sürüklenebilir (true).);

markerClicked = false;
}

@ Override
public void onMarkerDrag (Marker işaretleyici) {
}

@ Override
public void onMarkerDragEnd (Marker işaretleyici) {
}

@ Override
public void onMarkerDragStart (Marker işaretleyici) {

}
}

PHP Include Türkçe Karakter Problemi Çözümü

Kurumsal bir müşteriye yaptığım sitede php uzantılı anasayfama içerisinde sadece veritabanı kodları bulunan ve sonuçları dizi olarak geri döndüren iki tane php dosyasını sayfanın en yukarısına  include ettiğimde php dosyasının birinden gelen verilerde Türkçe karakter sorunu olmazken diğerinde Türkçe karakterlerin sorun olduğunu gördüm.

Denediğim ve sorunumu çözemediğim kodlar

1-)<?php header (‘Content-type: text/html; charset=utf-8′); ?>

2-) mysql_query(“SET NAMES ‘utf8′”);
mysql_query(“SET CHARACTER SET utf8”);
mysql_query(“SET COLLATION_CONNECTION = ‘utf-8′”);

3-) Bu karakterleri karşılıkları ile değiştirme

karaktersl6

Tüm bu işlemlerden sonuç alamadıktan sonra aşağıdaki kod ile Türkçe karakter problemini ortadan kaldırmış oldum.

mysql_query(“ALTER DATABASE tablo
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_unicode_ci
DEFAULT COLLATE utf8_unicode_ci
“);

JQuery ile Site Açılışında Resim Gösterme

Aşağıdaki linkten dosyaları indirip sitenize yükleyin ve daha sonra alttaki kodu head tagları arasında olacak şekilde yapıştırın.Son olarak image_small.jpg yerine sitenizin açılışına koymak istediğiniz resmin linkini yerleştirin.


<link rel="stylesheet" href="js/fancybox/jquery.fancybox-1.3.4.css" type="text/css" media="all"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="js/fancybox/jquery.fancybox-1.3.4.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
$.fancybox(
'<img src="image_small.jpg"/>',        {
'autoDimensions'    : false,
'width'                 : '420',
'height'                : '470',
'transitionIn'        : 'none',
'transitionOut'        : 'none'
}
);
});
</script>

İndir

Screenshot_2